/* Redefined Zero Video Gallery — front-end */

.rzvg-video-gallery {
	box-sizing: border-box;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0;
}

.rzvg-video-gallery__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 1.25rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.rzvg-video-gallery__card {
	display: flex;
	flex-direction: column;
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	overflow: hidden;
	background: #fff;
	text-decoration: none;
	color: inherit;
	transition: box-shadow 0.2s ease;
}

.rzvg-video-gallery__card:hover {
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
}

.rzvg-video-gallery__thumb {
	aspect-ratio: 16 / 9;
	background: #111;
	overflow: hidden;
}

.rzvg-video-gallery__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.rzvg-video-gallery__body {
	padding: 1rem;
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.rzvg-video-gallery__title {
	font-size: var(--rzvg-card-title-size, 16px) !important;
	font-weight: var(--rzvg-card-title-weight, 650) !important;
	color: var(--rzvg-card-title-color, inherit) !important;
	margin: 0;
	line-height: 1.3;
}

.rzvg-video-gallery__excerpt {
	font-size: 0.9rem;
	color: #555;
	margin: 0;
	line-height: 1.45;
}

.rzvg-video-gallery__embed,
.rzvg-video-gallery__single-player .rzvg-video-gallery__embed {
	position: relative;
	width: 100%;
	max-width: 960px;
	margin: 0 auto 1.5rem;
}

.rzvg-video-gallery__embed iframe,
.rzvg-video-gallery__single-player iframe,
.rzvg-video-gallery__embed .rzvg-video-gallery__html5-video,
.rzvg-video-gallery__single-player .rzvg-video-gallery__html5-video {
	width: 100%;
	aspect-ratio: 16 / 9;
	height: auto;
	min-height: 200px;
	border: 0;
	border-radius: 8px;
}

.rzvg-video-gallery__embed .rzvg-video-gallery__html5-video,
.rzvg-video-gallery__single-player .rzvg-video-gallery__html5-video {
	display: block;
	background: #000;
}

.rzvg-video-gallery__html5-error {
	margin: 0.75rem 0 0;
	padding: 0.5rem 0.75rem;
	font-size: 0.9rem;
	line-height: 1.4;
	color: #fff;
	background: rgba(0, 0, 0, 0.75);
}

.rzvg-video-gallery__single-player .rzvg-ytg-video-inner {
	position: relative;
	z-index: 1;
}

.rzvg-video-gallery__single-player .rzvg-ytg-video-inner iframe,
.rzvg-video-gallery__single-player .rzvg-ytg-video-inner .wp-block-embed iframe {
	pointer-events: none !important;
}

.rzvg-video-gallery__single-player.rzvg-single-player--inline .rzvg-ytg-video-inner .rzvg-video-gallery__html5-video,
#videoModal .modal-body .rzvg-video-gallery__html5-video {
	pointer-events: auto !important;
	position: relative;
	z-index: 2;
}

/* Modal-on-single preview: block clicks on MP4 so ::before + play open the lightbox. */
.rzvg-video-gallery__single-player:not(.rzvg-single-player--inline) .rzvg-ytg-video-inner .rzvg-video-gallery__html5-video {
	pointer-events: none !important;
}

.rzvg-video-gallery__single-player.rzvg-single-player--inline.rzvg-html5-player::before {
	display: none !important;
}

/* Single page: no lightbox — remove dim overlay and allow clicks on the embed */
.rzvg-video-gallery__single-player.rzvg-single-player--inline::before {
	display: none !important;
}

.rzvg-video-gallery__single-player.rzvg-single-player--inline .rzvg-ytg-video-inner iframe,
.rzvg-video-gallery__single-player.rzvg-single-player--inline .rzvg-ytg-video-inner .wp-block-embed iframe {
	pointer-events: auto !important;
}

.rzvg-video-gallery__single {
	max-width: 960px;
	margin: 2rem auto;
	padding: 0 1rem;
}

.rzvg-video-gallery__single-header {
	margin-bottom: 1.25rem;
}

.rzvg-video-gallery__single-content {
	margin-top: 1.5rem;
}

.rzvg-video-gallery__empty {
	padding: 1rem;
	text-align: center;
	color: #666;
}

.rzvg-video-gallery__empty--in-grid {
	grid-column: 1 / -1;
	margin: 0;
	padding: 1.5rem 0.5rem;
}

.rzvg-video-gallery--links .rzvg-video-gallery__grid > .rzvg-video-gallery__grid-empty {
	grid-column: 1 / -1;
	list-style: none;
	margin: 0;
	padding: 0;
}

/* ----- Category filter (General → Category filter) ----- */

.rzvg-video-gallery__category-filter {
	margin: 0 0 1.25rem;
	box-sizing: border-box;
}

.rzvg-video-gallery__category-filter--select .rzvg-video-gallery__category-filter-label {
	display: block;
	font-weight: 600;
	margin: 0 0 0.35rem;
	color: #1d2327;
	text-align: left;
}

.rzvg-video-gallery__filter-select-row {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	flex-wrap: wrap;
	gap: 1rem 1.5rem;
	width: 100%;
	box-sizing: border-box;
}

.rzvg-video-gallery__filter-field {
	flex: 0 1 calc(50% - 0.75rem);
	min-width: min(100%, 200px);
	max-width: min(100%, 360px);
}

.rzvg-video-gallery__filter-field--sort {
	text-align: right;
}

.rzvg-video-gallery__filter-field--sort .rzvg-video-gallery__category-filter-label {
	text-align: right;
}

.rzvg-video-gallery__filter-field--sort .rzvg-video-gallery__sort-select {
	margin-left: auto;
}

@media (max-width: 640px) {
	.rzvg-video-gallery__filter-select-row {
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		gap: 1rem;
	}

	.rzvg-video-gallery__filter-field {
		flex: 1 1 100%;
		min-width: 0;
		max-width: 100%;
		width: 100%;
	}

	.rzvg-video-gallery__filter-field--sort {
		text-align: left;
	}

	.rzvg-video-gallery__filter-field--sort .rzvg-video-gallery__category-filter-label {
		text-align: left;
	}

	.rzvg-video-gallery__filter-field--sort .rzvg-video-gallery__sort-select {
		margin-left: 0;
	}
}

.rzvg-video-gallery__category-filter--select .rzvg-video-gallery__category-select,
.rzvg-video-gallery__category-filter--select .rzvg-video-gallery__sort-select {
	width: 100%;
	max-width: 100%;
	padding: 0.55rem 2rem 0.55rem 0.75rem;
	font-size: 1rem;
	line-height: 1.35;
	border: 1px solid #c3c4c7;
	border-radius: 6px;
	background-color: #fff;
	color: #1d2327;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
	box-sizing: border-box;
}

.rzvg-video-gallery__category-filter-heading {
	margin: 0 0 0.65rem;
	font-size: 0.95rem;
	font-weight: 600;
	color: #1d2327;
}

.rzvg-video-gallery__category-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
}

.rzvg-video-gallery__category-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.45rem 1rem;
	font-size: 0.9375rem;
	line-height: 1.25;
	font-weight: 500;
	color: #1d2327;
	background: #fff;
	border: 1px solid #c5cbd3;
	border-radius: 999px;
	cursor: pointer;
	transition:
		background 0.15s ease,
		color 0.15s ease,
		border-color 0.15s ease,
		box-shadow 0.15s ease;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.rzvg-video-gallery__category-btn:hover {
	border-color: #8c8f94;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
}

.rzvg-video-gallery__category-btn.is-active {
	background: var(--rzvg-pagination-bg, #0073aa);
	color: var(--rzvg-pagination-text, #fff);
	border-color: var(--rzvg-pagination-bg, #0073aa);
	box-shadow: 0 2px 8px rgba(0, 115, 170, 0.35);
}

.rzvg-video-gallery__category-btn.is-active:hover {
	background: var(--rzvg-pagination-hover-bg, #005177);
	border-color: var(--rzvg-pagination-hover-bg, #005177);
	color: var(--rzvg-pagination-hover-text, var(--rzvg-pagination-text, #fff));
}

/* ----- AJAX category filter: subtle hide → show ----- */

.rzvg-video-gallery.rzvg-filter-is-transitioning .rzvg-video-gallery__posts,
.rzvg-video-gallery.rzvg-filter-is-transitioning .rzvg-video-gallery__grid {
	opacity: 0.22;
	transform: scale(0.985);
	filter: blur(1px);
	transition:
		opacity 0.2s ease,
		transform 0.22s ease,
		filter 0.22s ease;
	pointer-events: none;
}

@keyframes rzvg-grid-filter-in {
	from {
		opacity: 0;
		transform: translateY(14px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.rzvg-video-gallery__posts.rzvg-filter-enter,
.rzvg-video-gallery__grid.rzvg-filter-enter {
	animation: rzvg-grid-filter-in 0.42s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@media (prefers-reduced-motion: reduce) {
	.rzvg-video-gallery.rzvg-filter-is-transitioning .rzvg-video-gallery__posts,
	.rzvg-video-gallery.rzvg-filter-is-transitioning .rzvg-video-gallery__grid {
		transition: none;
		filter: none;
		opacity: 0.55;
		transform: none;
	}

	.rzvg-video-gallery__posts.rzvg-filter-enter,
	.rzvg-video-gallery__grid.rzvg-filter-enter {
		animation: none;
	}
}

/* ----- Your legacy gallery layout (scoped to this plugin) ----- */

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

.rzvg-video-gallery--modal .video-item {
	border: 1px solid #ddd;
	border-radius: 8px;
	padding: 10px;
	text-align: center;
	background-color: #fff;
	position: relative;
	cursor: pointer;
}

/* Grid cells that link to the CPT single page instead of opening the modal */
.rzvg-video-gallery--modal.rzvg-video-gallery--grid-to-single a.rzvg-video-gallery__grid-item-link.video-item {
	display: block;
	text-decoration: none;
	color: inherit;
	box-sizing: border-box;
}

/* No full-card ::before here — it sat above .video-thumbnail and hid/blocked your thumb ::before. */

.rzvg-video-gallery--modal .video-item .post-content {
	position: relative;
	z-index: 1;
}

.rzvg-video-gallery--modal .video-thumbnail {
	margin-bottom: 10px;
}

/* Classic/full: static YouTube poster — no iframe in grid, so nothing can autoplay there. */
.rzvg-video-gallery--modal .post-content.rzvg-ytg-grid-cell .rzvg-ytg-grid-preview {
	display: block;
	position: relative;
	aspect-ratio: 16 / 9;
	background: #111;
	border-radius: 5px;
	overflow: hidden;
}

/* Dim only over the poster image — play circle stays above this layer. */
.rzvg-video-gallery--modal .post-content.rzvg-ytg-grid-cell .rzvg-ytg-grid-preview::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.2);
	z-index: 1;
	pointer-events: none;
	transition: background 0.25s ease;
}

.rzvg-video-gallery--modal .video-item:hover .post-content.rzvg-ytg-grid-cell .rzvg-ytg-grid-preview::before,
.rzvg-video-gallery--modal .video-item:focus-visible .post-content.rzvg-ytg-grid-cell .rzvg-ytg-grid-preview::before {
	background: rgba(0, 0, 0, 0.4);
}

.rzvg-video-gallery--modal .rzvg-ytg-grid-poster {
	position: relative;
	z-index: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.rzvg-video-gallery--modal .rzvg-ytg-grid-poster--empty {
	position: relative;
	z-index: 0;
	display: block;
	min-height: 180px;
	background: #222;
}

.rzvg-video-gallery--modal .rzvg-ytg-grid-poster--video,
.rzvg-video-gallery__modal-thumb--video .rzvg-video-gallery__modal-thumb-video {
	position: relative;
	z-index: 0;
	width: 100%;
	height: 100%;
	min-height: 180px;
	object-fit: cover;
	display: block;
	pointer-events: none;
}

.rzvg-video-gallery--modal .rzvg-ytg-grid-play {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
}

.rzvg-video-gallery--modal .rzvg-ytg-grid-play-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: rgba(220, 38, 38, 0.92);
	padding-left: 4px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
}

.rzvg-video-gallery--modal .rzvg-ytg-grid-play-icon svg {
	display: block;
	flex-shrink: 0;
}

.rzvg-video-gallery--modal .rzvg-ytg-grid-note {
	margin: 0.5rem 0 0;
	font-size: 0.85rem;
	line-height: 1.35;
	color: #444;
	text-align: left;
}

/* Dim overlay on the thumb (your ::before technique — no extra DOM). */
.rzvg-video-gallery--modal .video-thumbnail.rzvg-ytg-video-wrap,
.rzvg-video-gallery__single .video-thumbnail.rzvg-ytg-video-wrap {
	position: relative;
	z-index: 0;
	/* Keeps YouTube’s compositor layer under this box’s ::before. */
	isolation: isolate;
}

/* Poster-mode grid: outer ::before hid the play icon — dim is on .rzvg-ytg-grid-preview::before instead. */
.rzvg-video-gallery--modal .video-thumbnail.rzvg-ytg-video-wrap.rzvg-ytg-poster-mode::before,
.rzvg-video-gallery__single .video-thumbnail.rzvg-ytg-video-wrap.rzvg-ytg-poster-mode::before {
	display: none;
}

/* Single page (modal): static poster preview — same idea as gallery grid, no iframe. */
.rzvg-video-gallery__single .rzvg-video-gallery__single-preview {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	background: #111;
	border-radius: 8px;
	overflow: hidden;
}

.rzvg-video-gallery__single .rzvg-video-gallery__single-preview .rzvg-ytg-grid-poster,
.rzvg-video-gallery__single .rzvg-video-gallery__single-preview .rzvg-ytg-grid-poster--video {
	width: 100%;
	height: 100%;
	min-height: 0;
	object-fit: cover;
	display: block;
}

.rzvg-video-gallery__single .rzvg-video-gallery__single-preview::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.2);
	z-index: 1;
	pointer-events: none;
	transition: background 0.25s ease;
}

.rzvg-video-gallery__single .video-thumbnail.rzvg-ytg-video-wrap:hover .rzvg-video-gallery__single-preview::before,
.rzvg-video-gallery__single .video-thumbnail.rzvg-ytg-video-wrap:focus-visible .rzvg-video-gallery__single-preview::before {
	background: rgba(0, 0, 0, 0.4);
}

.rzvg-video-gallery__single .rzvg-video-gallery__single-preview .rzvg-video-gallery__single-play {
	z-index: 2;
}

.rzvg-video-gallery__single .video-thumbnail.rzvg-ytg-video-wrap.rzvg-single-player--modal-preview,
.rzvg-video-gallery__single .video-thumbnail.rzvg-ytg-video-wrap.rzvg-single-player--modal-preview .rzvg-video-gallery__single-preview,
.rzvg-video-gallery__single .video-thumbnail.rzvg-ytg-video-wrap.rzvg-single-player--modal-preview .rzvg-ytg-grid-poster,
.rzvg-video-gallery__single .video-thumbnail.rzvg-ytg-video-wrap.rzvg-single-player--modal-preview .rzvg-ytg-grid-poster--video {
	cursor: pointer;
}

.rzvg-video-gallery--modal .video-thumbnail.rzvg-ytg-video-wrap:not(.rzvg-ytg-poster-mode)::before,
.rzvg-video-gallery__single .video-thumbnail.rzvg-ytg-video-wrap:not(.rzvg-single-player--inline)::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background: rgba(0, 0, 0, 0);
	z-index: 100;
	pointer-events: auto;
	cursor: pointer;
	transition: background 0.25s ease;
}

.rzvg-video-gallery--modal .video-item:hover .video-thumbnail.rzvg-ytg-video-wrap:not(.rzvg-ytg-poster-mode)::before,
.rzvg-video-gallery--modal .video-item:focus-visible .video-thumbnail.rzvg-ytg-video-wrap:not(.rzvg-ytg-poster-mode)::before,
.rzvg-video-gallery__single .video-thumbnail.rzvg-ytg-video-wrap:not(.rzvg-single-player--inline):hover::before,
.rzvg-video-gallery__single .video-thumbnail.rzvg-ytg-video-wrap:not(.rzvg-single-player--inline):focus-visible::before {
	background: rgba(0, 0, 0, 0);
}

/* Single page (modal mode): play circle above dim ::before (same look as gallery grid). */
.rzvg-video-gallery__single .rzvg-video-gallery__single-play {
	position: absolute;
	inset: 0;
	z-index: 101;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
}

.rzvg-video-gallery__single .rzvg-video-gallery__single-play .rzvg-ytg-grid-play-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: rgba(220, 38, 38, 0.92);
	padding-left: 4px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
}

.rzvg-video-gallery__single .rzvg-video-gallery__single-play .rzvg-ytg-grid-play-icon svg {
	display: block;
	flex-shrink: 0;
}

.rzvg-video-gallery--modal .video-thumbnail iframe {
	width: 100%;
	height: 200px;
	border-radius: 5px;
}

/* Extra guard: theme / YouTube must not steal clicks under :before. */
.rzvg-video-gallery--modal .post-content iframe,
.rzvg-video-gallery--modal .post-content .wp-block-embed iframe {
	pointer-events: none !important;
}

.rzvg-video-gallery--modal .video-item h5 {
	margin: 0.5rem 0 0;
	font-size: 1rem;
	line-height: 1.35;
}

/* ----- Modal: matches your #videoModal + .video-modal (z-index raised for page builders) ----- */

@keyframes rzvg-modal-backdrop-in {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

@keyframes rzvg-modal-panel-in {
	from {
		opacity: 0;
		transform: scale(0.93) translateY(22px);
		box-shadow: 0 4px 24px rgba(0, 0, 0, 0.15);
	}
	to {
		opacity: 1;
		transform: scale(1) translateY(0);
		box-shadow: 0 12px 48px rgba(0, 0, 0, 0.45);
	}
}

#videoModal.video-modal {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 2147483000;
	width: 100%;
	height: 100%;
	max-height: 100dvh;
	margin: 0;
	padding: 1rem;
	box-sizing: border-box;
	overflow: auto;
	background-color: transparent;
	/* Center the panel (flex beats theme bottom/right hacks). */
	align-items: center;
	justify-content: center;
}

/* Dim layer (animates only while open — see .rzvg-open::before). */
#videoModal.video-modal::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.68);
	z-index: 0;
	pointer-events: none;
	opacity: 0;
}

#videoModal.video-modal.rzvg-open::before {
	pointer-events: auto;
	animation: rzvg-modal-backdrop-in 0.32s ease forwards;
}

/* jQuery .fadeIn() uses display:block and breaks this flex layout — open via .rzvg-open in JS. */
#videoModal.video-modal.rzvg-open {
	display: flex !important;
	flex-direction: row;
}

#videoModal.video-modal .modal-content,
#videoModal.video-modal .rzvg-modal-content {
	position: relative;
	z-index: 1;
	background-color: var(--rzvg-modal-content-bg, #fff);
	/* Width % from gallery settings (JS sets --rzvg-modal-width-* on #videoModal). */
	width: min(var(--rzvg-modal-width-mobile, 94%), 100%);
	max-width: 100%;
	max-height: min(92vh, 85dvh);
	height: auto;
	min-height: 0;
	/* Admin “Modal padding”: JS sets --rzvg-modal-padding on #videoModal when opened. */
	padding: var(--rzvg-modal-padding, 15px);
	margin: auto;
	left: auto !important;
	right: auto !important;
	top: auto !important;
	bottom: auto !important;
	box-sizing: border-box;
	border: none;
	border-radius: var(--rzvg-modal-content-radius, 2px);
	box-shadow: 0 12px 48px rgba(0, 0, 0, 0.45);
	transform-origin: center center;
}

#videoModal.video-modal.rzvg-open .modal-content,
#videoModal.video-modal.rzvg-open .rzvg-modal-content {
	animation: rzvg-modal-panel-in 0.45s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@media (prefers-reduced-motion: reduce) {
	#videoModal.video-modal::before,
	#videoModal.video-modal.rzvg-open .modal-content,
	#videoModal.video-modal.rzvg-open .rzvg-modal-content {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}

@media (min-width: 768px) {
	#videoModal.video-modal .modal-content,
	#videoModal.video-modal .rzvg-modal-content {
		width: min(var(--rzvg-modal-width-tablet, 88%), 100%);
	}
}

@media (min-width: 992px) {
	#videoModal.video-modal .modal-content,
	#videoModal.video-modal .rzvg-modal-content {
		width: min(var(--rzvg-modal-width-desktop, 72%), 100%);
	}
}

#videoModal .modal-body,
#videoModal .rzvg-modal-body {
	padding: 0;
	margin: 0;
	overflow: hidden;
	background: #000;
	line-height: 0;
}

#videoModal .modal-body .rzvg-video-gallery__embed,
#videoModal .rzvg-modal-body .rzvg-video-gallery__embed {
	margin: 0 !important;
	max-width: 100% !important;
}

#videoModal .modal-body iframe,
#videoModal .rzvg-modal-body iframe,
#videoModal .modal-body .rzvg-video-gallery__html5-video,
#videoModal .rzvg-modal-body .rzvg-video-gallery__html5-video {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	height: auto;
	max-height: min(78vh, 72dvh);
	min-height: 200px;
	border: 0;
	border-radius: 0;
}

#videoModal .modal-body .rzvg-video-gallery__embed--html5,
#videoModal .rzvg-modal-body .rzvg-video-gallery__embed--html5 {
	pointer-events: auto;
}

/* Close: position/size from JS custom properties (per gallery). */
#videoModal .close-btn,
#videoModal .rzvg-modal-close-btn {
	position: absolute;
	top: var(--rzvg-modal-close-offset-top, -20px);
	right: var(--rzvg-modal-close-offset-right, -20px);
	z-index: 20;
	width: var(--rzvg-modal-close-btn-size, 40px);
	height: var(--rzvg-modal-close-btn-size, 40px);
	margin: 0;
	padding: var(--rzvg-modal-close-padding, 15px);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: var(--rzvg-modal-close-font-size, 26px);
	line-height: 1;
	font-weight: 400;
	color: var(--rzvg-modal-close-color, #111);
	cursor: pointer;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: var(--rzvg-modal-close-border-radius, 50%);
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
	transition: background 0.15s ease, color 0.15s ease;
	box-sizing: border-box;
}

#videoModal .close-btn:hover,
#videoModal .close-btn:focus,
#videoModal .rzvg-modal-close-btn:hover,
#videoModal .rzvg-modal-close-btn:focus {
	background: #f5f5f5;
	outline: none;
}

/* ----- Optional “card” preview mode (thumbnail + overlay) ----- */

.rzvg-video-gallery__modal-thumb-wrap {
	position: relative;
	margin-bottom: 0.5rem;
	border-radius: 8px;
	overflow: hidden;
}

.rzvg-video-gallery__modal-thumb {
	position: relative;
	aspect-ratio: 16 / 9;
	background: #111;
	border-radius: 8px;
	overflow: hidden;
}

.rzvg-video-gallery__modal-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	pointer-events: none;
	user-select: none;
}

.rzvg-video-gallery__modal-thumb--placeholder {
	min-height: 120px;
}

.rzvg-video-gallery__play-overlay {
	position: absolute;
	inset: 0;
	z-index: 6;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.35);
	cursor: pointer;
	pointer-events: auto;
}

.rzvg-video-gallery__play-circle {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: rgba(220, 38, 38, 0.92);
	color: #fff;
	padding-left: 4px;
	pointer-events: none;
}

.rzvg-video-gallery__modal-title {
	margin: 0.35rem 0 0;
	font-size: var(--rzvg-card-title-size, 16px) !important;
	font-weight: var(--rzvg-card-title-weight, 650) !important;
	color: var(--rzvg-card-title-color, inherit) !important;
}

.rzvg-video-gallery__modal-excerpt {
	margin: 0.35rem 0 0;
	font-size: 0.875rem;
	color: #555;
}

.rzvg-video-gallery__play-label {
	display: inline-block;
	margin-top: 0.5rem;
	font-size: 0.9rem;
	font-weight: 600;
	color: #c00;
	text-decoration: underline;
}

.rzvg-video-gallery__modal-trigger {
	position: relative;
}

/* Card / cell frame designs (classes on every modal .video-item; classic & full use h5 + .video-thumbnail). */

.rzvg-video-gallery--modal .video-item.rzvg-video-gallery__modal-card--cinema {
	background: linear-gradient(165deg, #1c2130 0%, #0b0d12 55%, #12151c 100%);
	border-color: rgba(255, 255, 255, 0.08);
	color: #e8eaef;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.rzvg-video-gallery--modal .video-item.rzvg-video-gallery__modal-card--cinema .rzvg-video-gallery__modal-title {
	color: #f9fafb !important;
	font-weight: 650;
	letter-spacing: 0.01em;
}

.rzvg-video-gallery--modal .video-item.rzvg-video-gallery__modal-card--cinema .rzvg-video-gallery__modal-excerpt {
	color: #9ca3af;
}

.rzvg-video-gallery--modal .video-item.rzvg-video-gallery__modal-card--cinema .rzvg-video-gallery__play-label {
	color: #fca5a5;
}

.rzvg-video-gallery--modal .video-item.rzvg-video-gallery__modal-card--cinema .rzvg-video-gallery__modal-thumb-wrap {
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.06), 0 8px 24px rgba(0, 0, 0, 0.35);
}

.rzvg-video-gallery--modal .video-item.rzvg-video-gallery__modal-card--cinema .rzvg-video-gallery__play-overlay {
	background: rgba(0, 0, 0, 0.5);
}

.rzvg-video-gallery--modal .video-item.rzvg-video-gallery__modal-card--cinema:hover {
	box-shadow: 0 16px 48px rgba(0, 0, 0, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.rzvg-video-gallery--modal .video-item.rzvg-video-gallery__modal-card--glass {
	background: rgba(255, 255, 255, 0.52);
	border: 1px solid rgba(255, 255, 255, 0.55);
	border-radius: 16px;
	box-shadow:
		0 8px 32px rgba(15, 23, 42, 0.08),
		inset 0 1px 0 rgba(255, 255, 255, 0.75);
	backdrop-filter: blur(14px) saturate(150%);
	-webkit-backdrop-filter: blur(14px) saturate(150%);
}

.rzvg-video-gallery--modal .video-item.rzvg-video-gallery__modal-card--glass .rzvg-video-gallery__modal-thumb-wrap,
.rzvg-video-gallery--modal .video-item.rzvg-video-gallery__modal-card--glass .rzvg-video-gallery__modal-thumb {
	border-radius: 14px;
}

.rzvg-video-gallery--modal .video-item.rzvg-video-gallery__modal-card--glass .rzvg-video-gallery__modal-title {
	font-weight: 600;
	color: #111827;
}

.rzvg-video-gallery--modal .video-item.rzvg-video-gallery__modal-card--glass .rzvg-video-gallery__modal-excerpt {
	color: #4b5563;
}

.rzvg-video-gallery--modal .video-item.rzvg-video-gallery__modal-card--glass .rzvg-video-gallery__play-overlay {
	background: rgba(17, 24, 39, 0.28);
}

.rzvg-video-gallery--modal .video-item.rzvg-video-gallery__modal-card--glass:hover {
	box-shadow:
		0 14px 44px rgba(15, 23, 42, 0.12),
		inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

.rzvg-video-gallery--modal .video-item.rzvg-video-gallery__modal-card--minimal {
	padding: 0;
	margin-bottom: 1.35rem;
	border: none;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	text-align: left;
}

.rzvg-video-gallery--modal .video-item.rzvg-video-gallery__modal-card--minimal:hover {
	box-shadow: none;
	background: transparent;
}

.rzvg-video-gallery--modal .video-item.rzvg-video-gallery__modal-card--minimal .rzvg-video-gallery__modal-thumb-wrap {
	margin: 0;
	border-radius: 0;
	overflow: hidden;
}

.rzvg-video-gallery--modal .video-item.rzvg-video-gallery__modal-card--minimal .rzvg-video-gallery__modal-thumb {
	border-radius: 0;
}

.rzvg-video-gallery--modal .video-item.rzvg-video-gallery__modal-card--minimal .rzvg-video-gallery__modal-title {
	margin: 0.35rem 0 0;
	padding: 0;
	font-size: 1rem;
	font-weight: 600;
	color: #111827;
	line-height: 1.3;
}

.rzvg-video-gallery--modal .video-item.rzvg-video-gallery__modal-card--minimal .rzvg-video-gallery__modal-excerpt {
	margin: 0.25rem 0 0;
	padding: 0;
	color: #4b5563;
	font-size: 0.875rem;
	line-height: 1.45;
}

.rzvg-video-gallery--modal .video-item.rzvg-video-gallery__modal-card--minimal .rzvg-video-gallery__play-label {
	margin: 0.35rem 0 0;
	padding: 0;
	color: #c00;
	font-weight: 600;
	text-decoration: underline;
	border: none;
}

.rzvg-video-gallery--modal .video-item.rzvg-video-gallery__modal-card--minimal .rzvg-video-gallery__play-overlay {
	background: rgba(0, 0, 0, 0.35);
}

/* Classic / full: same outer frame; title is plain h5 + YouTube poster block inside .video-thumbnail */

.rzvg-video-gallery--modal .video-item.rzvg-video-gallery__modal-card--cinema h5 {
	color: #f9fafb !important;
	font-weight: 650;
	letter-spacing: 0.01em;
}

.rzvg-video-gallery--modal .video-item.rzvg-video-gallery__modal-card--cinema .rzvg-ytg-grid-note {
	color: #9ca3af;
}

.rzvg-video-gallery--modal .video-item.rzvg-video-gallery__modal-card--cinema .video-thumbnail {
	border-radius: 8px;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.06), 0 8px 24px rgba(0, 0, 0, 0.35);
}

.rzvg-video-gallery--modal .video-item.rzvg-video-gallery__modal-card--glass h5 {
	font-weight: 600;
	color: #111827;
}

.rzvg-video-gallery--modal .video-item.rzvg-video-gallery__modal-card--glass .rzvg-ytg-grid-note {
	color: #4b5563;
}

.rzvg-video-gallery--modal .video-item.rzvg-video-gallery__modal-card--glass .video-thumbnail {
	border-radius: 14px;
	overflow: hidden;
}

.rzvg-video-gallery--modal .video-item.rzvg-video-gallery__modal-card--glass .post-content.rzvg-ytg-grid-cell .rzvg-ytg-grid-preview {
	border-radius: 14px;
}

.rzvg-video-gallery--modal .video-item.rzvg-video-gallery__modal-card--minimal h5 {
	margin: 0.35rem 0 0;
	padding: 0;
	font-size: 1rem;
	font-weight: 600;
	color: #111827;
	line-height: 1.3;
}

.rzvg-video-gallery--modal .video-item.rzvg-video-gallery__modal-card--minimal .rzvg-ytg-grid-note {
	margin: 0.25rem 0 0;
	padding: 0;
	color: #4b5563;
	font-size: 0.875rem;
	line-height: 1.45;
}

.rzvg-video-gallery--modal .video-item.rzvg-video-gallery__modal-card--minimal .video-thumbnail {
	margin: 0;
	padding: 0;
	border-radius: 0;
	overflow: hidden;
	box-shadow: none;
}

.rzvg-video-gallery--modal .video-item.rzvg-video-gallery__modal-card--minimal .post-content.rzvg-ytg-grid-cell .rzvg-ytg-grid-preview {
	border-radius: 0;
}

.rzvg-video-gallery--modal .video-item.rzvg-video-gallery__modal-card--minimal .video-thumbnail iframe {
	border-radius: 0;
}

/* ----- Pagination + load more (CSS variables from Gallery settings) ----- */

.rzvg-video-gallery--modal .rzvg-video-gallery__pagination {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	clear: both;
	margin: 2rem 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 10px;
}

.rzvg-video-gallery--modal .rzvg-video-gallery__pagination .page-numbers {
	display: flex !important;
	flex-wrap: wrap;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	width: auto;
	float: none !important;
}

.rzvg-video-gallery--modal .rzvg-video-gallery__pagination .page-numbers li {
	display: flex !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	float: none !important;
}

.rzvg-video-gallery--modal .rzvg-video-gallery__pagination a,
.rzvg-video-gallery--modal .rzvg-video-gallery__pagination .page-numbers a,
.rzvg-video-gallery--modal .rzvg-video-gallery__pagination .page-numbers span.page-numbers {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: 38px;
	padding: 8px 16px !important;
	background-color: var(--rzvg-pagination-bg, #0073aa);
	color: var(--rzvg-pagination-text, #fff) !important;
	text-decoration: none !important;
	border-radius: var(--rzvg-pagination-radius, 5px);
	line-height: 1.2;
}

.rzvg-video-gallery--modal .rzvg-video-gallery__pagination a:hover,
.rzvg-video-gallery--modal .rzvg-video-gallery__pagination .page-numbers a:hover {
	background-color: var(--rzvg-pagination-hover-bg, #005177);
	color: var(--rzvg-pagination-hover-text, var(--rzvg-pagination-text, #fff)) !important;
}

.rzvg-video-gallery--modal .rzvg-video-gallery__pagination .page-numbers span.page-numbers.current,
.rzvg-video-gallery--modal .rzvg-video-gallery__pagination .page-numbers span.current {
	background-color: var(--rzvg-pagination-active-bg, #333);
	color: var(--rzvg-pagination-active-text, #fff) !important;
	cursor: default;
}

.rzvg-video-gallery--modal .rzvg-video-gallery__load-more-wrap {
	width: 100%;
	display: flex;
	justify-content: center;
	margin: 1.75rem 0 0;
}

.rzvg-video-gallery--modal .rzvg-video-gallery__load-more {
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: 38px;
	padding: 8px 16px;
	border: 0;
	border-radius: var(--rzvg-load-more-radius, 5px);
	background-color: var(--rzvg-load-more-bg, #0073aa);
	color: var(--rzvg-load-more-text, #fff);
	cursor: pointer;
	font: inherit;
	line-height: 1.2;
	transition: background-color 0.18s cubic-bezier(0.4, 0, 0.2, 1);
}

.rzvg-video-gallery--modal .rzvg-video-gallery__load-more:hover {
	background-color: var(--rzvg-load-more-hover-bg, #005177);
	color: var(--rzvg-load-more-hover-text, var(--rzvg-load-more-text, #fff)) !important;
}

.rzvg-video-gallery--modal .rzvg-video-gallery__load-more:focus-visible {
	outline: 2px solid #2271b1;
	outline-offset: 2px;
}

.rzvg-video-gallery--modal .rzvg-video-gallery__load-more.is-busy {
	opacity: 0.7;
	cursor: wait;
}

@media (prefers-reduced-motion: reduce) {
	.rzvg-video-gallery--modal .rzvg-video-gallery__load-more {
		transition: none;
	}
}

/* ----- Play presets (grid + card) ----- */

.rzvg-video-gallery--modal .rzvg-ytg-grid-play-icon.rzvg-ytg-play--ring,
.rzvg-video-gallery__single .rzvg-ytg-grid-play-icon.rzvg-ytg-play--ring {
	background: transparent;
	border: 3px solid rgba(255, 255, 255, 0.95);
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
	padding-left: 0;
}

.rzvg-video-gallery--modal .rzvg-ytg-grid-play-icon.rzvg-ytg-play--minimal,
.rzvg-video-gallery__single .rzvg-ytg-grid-play-icon.rzvg-ytg-play--minimal {
	background: transparent;
	box-shadow: none;
	width: auto;
	height: auto;
	padding: 0;
	filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.45));
}

.rzvg-video-gallery--modal .rzvg-ytg-grid-play-icon.rzvg-ytg-play--custom,
.rzvg-video-gallery__single .rzvg-ytg-grid-play-icon.rzvg-ytg-play--custom {
	background: transparent;
	box-shadow: none;
	width: auto;
	height: auto;
	padding: 0;
	padding-left: 0;
}

.rzvg-video-gallery--modal .rzvg-ytg-grid-play-icon.rzvg-ytg-play--custom .rzvg-ytg-play-custom-img,
.rzvg-video-gallery__single .rzvg-ytg-grid-play-icon.rzvg-ytg-play--custom .rzvg-ytg-play-custom-img {
	display: block;
	max-width: min(72px, 22vw);
	height: auto;
	width: auto;
}

.rzvg-video-gallery__play-circle.rzvg-ytg-play--ring {
	background: transparent;
	border: 3px solid rgba(255, 255, 255, 0.95);
	color: #fff;
	padding-left: 0;
}

.rzvg-video-gallery__play-circle.rzvg-ytg-play--minimal {
	background: transparent;
	color: #fff;
	width: auto;
	height: auto;
	padding: 0;
	filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.45));
}

.rzvg-video-gallery__play-circle.rzvg-ytg-play--custom {
	background: transparent;
	color: inherit;
	width: auto;
	height: auto;
	padding: 0;
}

.rzvg-video-gallery__play-circle.rzvg-ytg-play--custom .rzvg-ytg-play-custom-img {
	display: block;
	max-width: min(80px, 24vw);
	height: auto;
}

/* ----- Single CPT: main + sidebar (when enabled in gallery settings) ----- */

.rzvg-video-gallery__single-layout {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding: 0 0;
	box-sizing: border-box;
}

.rzvg-video-gallery__single-layout--with-sidebar {
	display: grid;
	gap: 2rem;
	align-items: start;
	grid-template-columns: 1fr;
}

@media (min-width: 900px) {
	.rzvg-video-gallery__single-layout--with-sidebar {
		grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
	}

	/* Sticky sidebar on single video (clears below admin bar when logged in) */
	.rzvg-video-gallery__single-layout--with-sidebar > .rzvg-video-gallery__single-column--sidebar {
		position: sticky;
		top: 1.25rem;
		align-self: start;
		max-height: calc(100vh - 1.5rem);
		overflow-y: auto;
		overflow-x: hidden;
		-webkit-overflow-scrolling: touch;
		padding-bottom: 0.5rem;
	}

	body.admin-bar .rzvg-video-gallery__single-layout--with-sidebar > .rzvg-video-gallery__single-column--sidebar {
		top: calc(46px + 1.25rem);
		max-height: calc(100vh - 46px - 1.75rem);
	}
}

@media (min-width: 900px) and (min-width: 783px) {
	body.admin-bar .rzvg-video-gallery__single-layout--with-sidebar > .rzvg-video-gallery__single-column--sidebar {
		top: calc(32px + 1.25rem);
		max-height: calc(100vh - 32px - 1.75rem);
	}
}

.rzvg-video-gallery__single-column--sidebar .widget {
	margin-bottom: 1.5rem;
}

.rzvg-video-gallery__single-column--sidebar .widget:last-child {
	margin-bottom: 0;
}

.rzvg-video-gallery__single-sidebar-block .widget-title {
	margin-top: 0;
}

/* Sidebar category colors (--rzvg-sbar-cat-*) apply only to the <ul> list, not the widget heading. */

/* Sidebar: video category pills */
.rzvg-video-gallery__single-sidebar-cats {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.rzvg-sidebar-cats__item {
	margin: 0;
	padding: 0;
	line-height: 1.2;
}

.rzvg-sidebar-cat-pill {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	max-width: 100%;
	padding: 0.35rem 0.55rem 0.35rem 0.65rem;
	border-radius: 999px;
	text-decoration: none;
	font-size: 0.8125rem;
	font-weight: 500;
	color: var(--rzvg-sbar-cat-text, #1d2327);
	background: var(--rzvg-sbar-cat-bg, linear-gradient(180deg, #ffffff 0%, #f0f0f1 100%));
	border: 1px solid #c3c4c7;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
	transition:
		background 0.15s ease,
		border-color 0.15s ease,
		box-shadow 0.15s ease,
		color 0.15s ease;
}

.rzvg-sidebar-cat-pill:hover:not(.rzvg-sidebar-cat-pill--assigned) {
	border-color: #8c8f94;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
	background: var(--rzvg-sbar-cat-hover-bg, var(--rzvg-sbar-cat-bg, linear-gradient(180deg, #ffffff 0%, #f0f0f1 100%)));
	color: var(--rzvg-sbar-cat-hover-text, #0073aa);
}

.rzvg-sidebar-cat-pill--assigned {
	background: var(--rzvg-sbar-cat-sel-bg, linear-gradient(180deg, #0073aa 0%, #005a87 100%));
	border: 1px solid rgba(0, 0, 0, 0.14);
	color: var(--rzvg-sbar-cat-sel-text, #ffffff);
	box-shadow: 0 2px 8px rgba(0, 115, 170, 0.35);
}

.rzvg-sidebar-cat-pill--assigned:hover {
	color: var(--rzvg-sbar-cat-sel-text, #ffffff);
	border-color: rgba(0, 0, 0, 0.22);
	filter: brightness(0.97);
}

.rzvg-sidebar-cat-pill__label {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: 11rem;
}

.rzvg-sidebar-cat-pill__count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.35rem;
	padding: 0.1rem 0.35rem;
	border-radius: 999px;
	font-size: 0.7rem;
	font-weight: 600;
	background: rgba(0, 0, 0, 0.08);
	color: inherit;
}

.rzvg-sidebar-cat-pill--assigned .rzvg-sidebar-cat-pill__count {
	background: rgba(255, 255, 255, 0.22);
}

/* Sidebar Video categories — Design 2 (blog-style list) */
.rzvg-video-gallery__single-sidebar-cats--list {
	display: block;
	margin: 0;
	padding: 0;
	list-style: none;
	border: 1px solid #dcdcde;
	border-radius: 4px;
	background: var(--rzvg-sbar-cat-bg, #ffffff);
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
	overflow: hidden;
}

.rzvg-video-gallery__single-sidebar-cats--list .rzvg-sidebar-cats__item {
	margin: 0;
	padding: 0;
	border-bottom: 1px solid #f0f0f1;
	line-height: 1.35;
}

.rzvg-video-gallery__single-sidebar-cats--list .rzvg-sidebar-cats__item:last-child {
	border-bottom: 0;
}

.rzvg-video-gallery__single-sidebar-cats--list .rzvg-sidebar-cats__item a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.65rem;
	padding: 0.55rem 0.75rem;
	text-decoration: none;
	color: var(--rzvg-sbar-cat-text, #2c3338);
	font-size: 0.875rem;
	font-weight: 500;
	transition: background 0.12s ease, color 0.12s ease;
}

.rzvg-video-gallery__single-sidebar-cats--list .rzvg-sidebar-cats__item:not(.rzvg-sidebar-cats__item--current) a:hover,
.rzvg-video-gallery__single-sidebar-cats--list .rzvg-sidebar-cats__item:not(.rzvg-sidebar-cats__item--current) a:focus {
	background: var(--rzvg-sbar-cat-hover-bg, #f6f7f7);
	color: var(--rzvg-sbar-cat-hover-text, #0073aa);
	outline: none;
}

.rzvg-video-gallery__single-sidebar-cats--list .rzvg-sidebar-cat-list__name {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.rzvg-video-gallery__single-sidebar-cats--list .rzvg-sidebar-cat-list__count {
	flex-shrink: 0;
	font-size: 0.8125rem;
	font-weight: 400;
	color: var(--rzvg-sbar-cat-text, #646970);
	opacity: 0.82;
}

.rzvg-video-gallery__single-sidebar-cats--list .rzvg-sidebar-cats__item--current > a {
	background: var(--rzvg-sbar-cat-sel-bg, #e7f5fe);
	color: var(--rzvg-sbar-cat-sel-text, #0073aa);
	font-weight: 600;
}

.rzvg-video-gallery__single-sidebar-cats--list .rzvg-sidebar-cats__item--current > a:hover,
.rzvg-video-gallery__single-sidebar-cats--list .rzvg-sidebar-cats__item--current > a:focus {
	background: var(--rzvg-sbar-cat-sel-bg, #e7f5fe);
	color: var(--rzvg-sbar-cat-sel-text, #0073aa);
}

.rzvg-video-gallery__single-sidebar-cats--list .rzvg-sidebar-cats__item--current .rzvg-sidebar-cat-list__count {
	color: var(--rzvg-sbar-cat-sel-text, #0073aa);
	opacity: 1;
}

.rzvg-video-gallery__single-sidebar-related {
	margin: 0;
	padding: 0;
	list-style: none;
}

.rzvg-sidebar-related__item {
	display: flex;
	gap: 0.65rem;
	align-items: flex-start;
	margin: 0 0 0.85rem;
}

.rzvg-sidebar-related__item:last-child {
	margin-bottom: 0;
}

.rzvg-sidebar-related__thumb {
	flex-shrink: 0;
	display: block;
	width: 64px;
	border-radius: 4px;
	overflow: hidden;
	line-height: 0;
	border: 1px solid #dcdcde;
}

.rzvg-sidebar-related__img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.rzvg-sidebar-related__thumb-empty {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	min-height: 36px;
	background: linear-gradient(135deg, #2c3338 0%, #50575e 100%);
	border-radius: 3px;
}

.rzvg-sidebar-related__body {
	min-width: 0;
	flex: 1;
}

.rzvg-sidebar-related__title {
	display: block;
	font-weight: 600;
	font-size: 0.95rem;
	line-height: 1.35;
	text-decoration: none;
	color: inherit;
}

.rzvg-sidebar-related__title:hover {
	text-decoration: underline;
}

/* ----- Video category taxonomy archive (/videos/{slug}/) ----- */

.rzvg-video-tax {
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
	padding: 1.5rem 1rem 3rem;
	box-sizing: border-box;
}

.rzvg-video-gallery__single-column--main > .rzvg-video-tax {
	max-width: none;
	margin-left: 0;
	margin-right: 0;
	padding-left: 0;
	padding-right: 0;
}

.rzvg-video-tax__crumb {
	margin: 0 0 0.35rem;
	font-size: 0.875rem;
}

.rzvg-video-tax__crumb-link {
	color: #0073aa;
	text-decoration: none;
	font-weight: 500;
}

.rzvg-video-tax__crumb-link:hover {
	text-decoration: underline;
}

.rzvg-video-tax__title {
	margin: 0 0 0.75rem;
	font-size: clamp(1.5rem, 4vw, 2rem);
	line-height: 1.2;
	color: #1d2327;
}

.rzvg-video-tax__description {
	margin: 0 0 1.75rem;
	max-width: 42rem;
	color: #50575e;
	font-size: 0.95rem;
	line-height: 1.55;
}

/* Same grid cells as [rzvg_video_gallery] modal (styles under .rzvg-video-gallery--modal) */
.rzvg-video-tax__gallery {
	margin-top: 1.25rem;
}

.rzvg-video-tax__empty {
	margin: 2rem 0;
	color: #50575e;
}

.rzvg-video-tax .navigation.pagination {
	margin-top: 2rem;
}

/* Saved albums: public page /video-album/{id}/ */
.rzvg-video-album--public {
	max-width: 1200px;
	margin: 2rem auto;
	padding: 0 0;
	box-sizing: border-box;
}

.rzvg-video-album__title {
	margin: 0 0 0.5rem;
	font-size: clamp(1.35rem, 3.2vw, 1.85rem);
	line-height: 1.2;
	color: #1d2327;
}

.rzvg-video-album__subtitle {
	margin: 0 0 0.75rem;
	color: #50575e;
	font-size: 1rem;
	line-height: 1.45;
}

.rzvg-video-album__count {
	margin: 0 0 1rem;
	font-weight: 600;
	color: #1d2327;
}

.rzvg-video-album__cover {
	margin: 0 0 1.25rem;
	border-radius: 12px;
	overflow: hidden;
	border: 1px solid #e5e5e5;
	background: #111;
}

.rzvg-video-album__cover-img {
	display: block;
	width: 100%;
	height: auto;
}

.rzvg-video-album__gallery .rzvg-video-gallery {
	margin-top: 0.25rem;
}

.rzvg-video-album__related {
	margin-top: clamp(4rem, 8vw, 6.5rem);
	padding-top: 2rem;
}

.rzvg-video-album-related__title {
	font-size: 1.35em;
	margin: 0 0 1rem;
	padding: 0;
}

/* Albums grid: [rzvg-video-albums] — columns from PHP inline <style> (same breakpoints as video gallery). */
.rzvg-video-gallery--albums-grid {
	box-sizing: border-box;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding: 0 0;
}

.rzvg-video-gallery--albums-grid .rzvg-video-albums {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	max-width: none;
}

.rzvg-video-albums__item {
	border: 1px solid #e5e5e5;
	border-radius: 12px;
	background: #fff;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	min-height: 100%;
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04);
}

.rzvg-video-albums__media {
	display: block;
	text-decoration: none;
	color: inherit;
}

.rzvg-video-albums__img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	background: #111;
}

.rzvg-video-albums__img--empty {
	background: linear-gradient(135deg, #222, #444);
}

.rzvg-video-albums__body {
	padding: 1rem;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	flex: 1;
}

.rzvg-video-albums__title {
	margin: 0;
	font-size: var(--rzvg-card-title-size, 16px) !important;
	font-weight: var(--rzvg-card-title-weight, 650) !important;
	color: var(--rzvg-card-title-color, inherit) !important;
	line-height: 1.25;
}

.rzvg-video-albums__title-link {
	color: inherit;
	text-decoration: none;
}

.rzvg-video-albums__title-link:hover {
	text-decoration: underline;
}

.rzvg-video-albums__subtitle {
	margin: 0;
	font-size: var(--rzvg-card-subtitle-size, 14px) !important;
	font-weight: var(--rzvg-card-subtitle-weight, 400) !important;
	color: var(--rzvg-card-subtitle-color, #50575e) !important;
	line-height: 1.45;
}

.rzvg-video-albums__count {
	margin: 0;
	font-size: var(--rzvg-card-meta-size, 14px) !important;
	font-weight: var(--rzvg-card-meta-weight, 600) !important;
	color: var(--rzvg-card-meta-color, #1d2327) !important;
}

.rzvg-video-albums__btn {
	align-self: flex-start;
	margin-top: 0.25rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.55rem 0.95rem;
	border-radius: 999px;
	border: 1px solid #0073aa;
	background: #0073aa;
	color: #fff;
	text-decoration: none;
	font-weight: 600;
	font-size: 0.9rem;
	line-height: 1;
}

.rzvg-video-albums__btn:hover {
	background: #005177;
	border-color: #005177;
	color: #fff;
}

/* Album grid tiles — Card preview design (per album), aligned with gallery modal card moods */
.rzvg-video-albums__item--cinema {
	border-color: #2c3338;
	background: linear-gradient(165deg, #1e1e1e 0%, #2a2a2a 55%, #1a1a1a 100%);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
	color: #f0f0f1;
}

/* Shell typography must beat --rzvg-card-*-color rules on .subtitle / .count (they use !important). */
.rzvg-video-albums__item--cinema .rzvg-video-albums__title,
.rzvg-video-albums__item--cinema .rzvg-video-albums__title-link {
	color: #fff !important;
}

.rzvg-video-albums__item--cinema .rzvg-video-albums__subtitle,
.rzvg-video-albums__item--cinema .rzvg-video-albums__count {
	color: #c3c4c7 !important;
}

.rzvg-video-albums__item--glass {
	border-color: rgba(255, 255, 255, 0.35);
	background: rgba(255, 255, 255, 0.72);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
}

/* Frosted album card: keep cover image rounded. */
.rzvg-video-albums__item--glass .rzvg-video-albums__media {
	border-top-left-radius: 12px;
	border-top-right-radius: 12px;
	overflow: hidden;
}

.rzvg-video-albums__item--glass .rzvg-video-albums__img,
.rzvg-video-albums__item--glass .rzvg-video-albums__img--empty {
	border-top-left-radius: 12px;
	border-top-right-radius: 12px;
}

.rzvg-video-albums__item--minimal {
	border-color: transparent;
	background: transparent;
	box-shadow: none;
	/* Square top (full-bleed image); keep a light radius on the bottom of the tile only. */
	border-radius: 0 0 10px 10px;
}

.rzvg-video-albums__item--minimal .rzvg-video-albums__media,
.rzvg-video-albums__item--minimal .rzvg-video-albums__img,
.rzvg-video-albums__item--minimal .rzvg-video-albums__img--empty {
	border-radius: 0;
}

.rzvg-video-albums__item--minimal .rzvg-video-albums__body {
	padding-left: 0;
	padding-right: 0;
}
