.ejyt-embed {
	--ejyt-paper: var(--paper, #fff);
	--ejyt-text: var(--text, #252525);
	--ejyt-line: var(--line, #d7d4ce);
	--ejyt-red: var(--red, #a51c20);
	margin: 0 0 32px;
	color: var(--ejyt-text);
}

.ejyt-title {
	font: 700 29px/1.1 var(--serif, Georgia, "Times New Roman", serif);
	margin: 0 0 16px;
}

.ejyt-ratio {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: var(--ejyt-ratio, 56.25%);
	overflow: hidden;
	background: #111;
}

.ejyt-ratio iframe,
.ejyt-ratio img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.ejyt-ratio img {
	object-fit: cover;
}

.ejyt-play {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	border-radius: 50%;
	background: rgba(0,0,0,.78);
	color: #fff;
	font-size: 19px;
	padding-left: 3px;
	pointer-events: none;
}

.ejyt-playlist-grid {
	display: grid;
	grid-template-columns: repeat(var(--ejyt-columns, 3), minmax(0, 1fr));
	gap: 28px 20px;
}

.ejyt-playlist-item {
	min-width: 0;
	border-bottom: 1px solid var(--ejyt-line);
	padding-bottom: 18px;
}

.ejyt-thumb-link {
	display: block;
}

.ejyt-video-title {
	font: 700 20px/1.15 var(--serif, Georgia, "Times New Roman", serif);
	margin: 11px 0 0;
}

.ejyt-video-title a:hover {
	color: var(--ejyt-red);
}

.ejyt-date {
	display: block;
	margin-top: 7px;
	font-size: 11px;
	font-weight: 700;
	color: var(--muted, #777);
}

@media (max-width: 900px) {
	.ejyt-playlist-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	.ejyt-playlist-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.ejyt-video-title {
		font-size: 18px;
	}
}

/*
 * Dark-mode compatibility:
 * The v88 theme uses its own color variables/classes. These selectors only
 * provide safe fallbacks and do not override the theme's existing palette.
 */
@media (prefers-color-scheme: dark) {
	.ejyt-embed {
		--ejyt-paper: var(--paper, #161616);
		--ejyt-text: var(--text, #f2f2f2);
		--ejyt-line: var(--line, #444);
	}
}

/* Playlist carousel */
.ejyt-carousel{position:relative;display:flex;align-items:center;gap:10px}
.ejyt-carousel-viewport{overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;flex:1;min-width:0}
.ejyt-carousel-viewport::-webkit-scrollbar{display:none}
.ejyt-carousel-track{display:flex;gap:20px}
.ejyt-carousel .ejyt-playlist-item{flex:0 0 calc((100% - 40px)/3);box-sizing:border-box}
.ejyt-carousel-button{flex:0 0 42px;width:42px;height:42px;border:1px solid var(--ejyt-line);border-radius:50%;background:var(--ejyt-paper);color:var(--ejyt-text);font-size:30px;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0}
.ejyt-carousel-button:hover:not(:disabled){border-color:var(--ejyt-red);color:var(--ejyt-red)}
.ejyt-carousel-button:disabled{opacity:.35;cursor:default}
.ejyt-floating-player{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:24px;box-sizing:border-box}
.ejyt-floating-player.is-open{display:flex}
.ejyt-floating-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(3px)}
.ejyt-floating-dialog{position:relative;z-index:1;width:min(960px,96vw);background:#111;border:1px solid rgba(255,255,255,.18);box-shadow:0 24px 80px rgba(0,0,0,.55);padding:16px}
.ejyt-floating-title{color:#fff;font:700 18px/1.3 var(--serif,Georgia,"Times New Roman",serif);padding:0 48px 12px 2px}
.ejyt-floating-close{position:absolute;right:8px;top:4px;border:0;background:transparent;color:#fff;font-size:34px;line-height:1;cursor:pointer;padding:5px 10px;z-index:2}
.ejyt-floating-media{position:relative;width:100%;aspect-ratio:16/9;background:#000;overflow:hidden}
.ejyt-floating-media iframe{display:block;width:100%;height:100%;border:0;background:#000}
html.ej-floating-video-open{overflow:hidden}
@media(max-width:900px){.ejyt-carousel .ejyt-playlist-item{flex-basis:calc((100% - 20px)/2)}}
@media(max-width:560px){.ejyt-carousel{gap:6px}.ejyt-carousel .ejyt-playlist-item{flex-basis:85%}.ejyt-carousel-button{flex-basis:36px;width:36px;height:36px;font-size:25px}.ejyt-floating-player{padding:10px}.ejyt-floating-dialog{width:100%;padding:10px}.ejyt-floating-title{font-size:16px;padding-bottom:9px}}

.ejyt-live-soon-inner{position:absolute;inset:0;padding:32px;display:grid;place-items:center;background-size:cover;background-position:center;background-color:#222;color:#fff;text-align:center}
.ejyt-live-soon-inner span{font:700 clamp(28px,5vw,52px)/1.05 var(--serif,Georgia,"Times New Roman",serif);text-shadow:0 2px 14px rgba(0,0,0,.55)}
.ejyt-see-more{text-align:center;margin-top:24px}
.ejyt-see-more a{display:inline-flex;align-items:center;gap:7px;font-weight:700;text-decoration:none;color:var(--ejyt-text)}
.ejyt-see-more a:hover{color:var(--ejyt-red)}



/* Everlasting Joy v88 Recent-card contract.
 * The theme's Recent cards are controlled by Customizer values. The plugin
 * receives the exact values server-side from the active theme and applies
 * them to its own cards; it does not invent a separate palette.
 */
.ejyt-carousel .ejyt-playlist-item{
  box-sizing:border-box;
  background:var(--ejyt-recent-bg,#fff) !important;
  border:var(--ejyt-recent-border-width,1px) solid var(--ejyt-recent-border,#dedbd4) !important;
  border-radius:var(--ejyt-recent-radius,0px) !important;
  box-shadow:var(--ejyt-recent-shadow,none) !important;
  overflow:hidden;
  padding:0 0 15px;
  color:var(--ejyt-recent-text,#252525) !important;
}
.ejyt-carousel .ejyt-video-title,
.ejyt-carousel .ejyt-video-title a{color:var(--ejyt-recent-text,#252525) !important;}
.ejyt-carousel .ejyt-date{color:var(--ejyt-recent-muted,#666) !important;}
.ejyt-carousel .ejyt-playlist-card-media{background:var(--ejyt-recent-bg,#fff);}
.ejyt-carousel-button{
  background:var(--ejyt-recent-bg,#fff) !important;
  border-color:var(--ejyt-recent-border,#dedbd4) !important;
  color:var(--ejyt-recent-text,#252525) !important;
}
.ejyt-carousel-button:hover:not(:disabled){
  border-color:var(--ejyt-recent-accent,#a51c20) !important;
  color:var(--ejyt-recent-accent,#a51c20) !important;
}
.ejyt-see-more a{color:var(--ejyt-recent-accent,#252525) !important;}
.ejyt-see-more a:hover{color:var(--ejyt-recent-accent,#a51c20) !important;}

/* Final carousel sizing: three complete Recent-style portrait cards. */
.ejyt-carousel .ejyt-playlist-item{
  flex:0 0 calc((100% - 40px)/3);
  box-sizing:border-box;
  overflow:hidden;
  padding:0 0 14px;
}
.ejyt-carousel .ejyt-playlist-card-media{
  aspect-ratio:4/5;
  height:auto;
  padding-bottom:0 !important;
  position:relative;
  overflow:hidden;
}
.ejyt-carousel .ejyt-playlist-card-media img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.ejyt-carousel .ejyt-video-title{
  margin:12px 14px 0;
  font-size:17px;
  line-height:1.2;
}
.ejyt-carousel .ejyt-date{margin:7px 14px 0;}

@media(max-width:900px){
  .ejyt-carousel .ejyt-playlist-item{flex-basis:calc((100% - 20px)/2);}
  .ejyt-carousel .ejyt-playlist-card-media{aspect-ratio:4/5;}
}
@media(max-width:560px){
  /* Mobile: show exactly one complete card; do not intentionally peek the next card. */
  .ejyt-carousel .ejyt-playlist-item{flex:0 0 100%; max-width:100%;}
  .ejyt-carousel .ejyt-video-title{font-size:16px;line-height:1.2;}
}
