
.dc-jvideo-backdrop {
  	position: fixed;
  	left: 50%;
  	top: 50%;

  	width: 40px;
  	height: 40px;
  	border-radius: 50%;

  	background: rgba(0,0,0,0.85);

  	transform: translate(-50%, -50%) scale(0);
  	transition: transform 0.7s ease-in-out;

  	z-index: 9998;
}

.dc-jvideo-backdrop.is-active {
	 transform: translate(-50%, -50%) scale(80);
}

.dc-jvideo-close {
	position: absolute;
	top: 20px;
	right: 20px;
	font-size: 32px;
	background: none;
	border: none;
	color: #fff;
	cursor: pointer;
	z-index: 2;
}

/* ===== Overlay ===== */
.dc-jvideo-overlay {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
  padding: 16px;
  width: 100vw;
	height: 100vh;
}

/* ===== Content ===== */
.dc-jvideo-content {
  width: 100%;
	max-width: 900px;
  height: 100%;          /* desktop */
	max-height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
  box-sizing: border-box;
}

.dc-jvideo-content video{
  width: 100% !important;
	height: auto !important;
	max-height: 80vh !important;
}

/* ===== OPEN ===== */
.dc-jvideo-overlay.is-active {
	pointer-events: auto;
}

.dc-jvideo-overlay.is-active .dc-jvideo-content {
	animation: dcJVideoBounceIn 0.7s cubic-bezier(.34,1.56,.64,1) forwards;
}

/* ===== CLOSE ===== */
.dc-jvideo-overlay.is-closing .dc-jvideo-content {
	animation: dcJVideoSlideOut 0.4s ease-in forwards;
}

/* ===== Keyframes ===== */
@keyframes dcJVideoBounceIn {
	0%   { transform: translateY(100vh); opacity: 0; }
	70%  { transform: translateY(-20px); opacity: 1; }
	100% { transform: translateY(0); opacity: 1; }
}

@keyframes dcJVideoSlideOut {
	0%   { transform: translateY(0); opacity: 1; }
	100% { transform: translateY(100vh); opacity: 0; }
}

.dc-jvideo-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 16px;
	background: #eee;
	border: 1px solid #ccc;
	border-radius: 6px;
	cursor: pointer;
	font-size: 15px;
}

.dc-jvideo-btn:hover {
	background: #e0e0e0;
}

.dc-jvideo-icon {
	font-size: 18px;
}

/* Lightbox: centrowanie miejsca na wideo */
.dc-jvideo-place{
	width: 100%;
	display: flex;
	justify-content: center;
}

/* Pewny wrapper 16:9 (działa zawsze, bez niespodzianek) */
.dc-jvideo-embed{
	position: relative;
	width: 100%;
	max-width: 900px;
}

/* proporcje 16:9 */
.dc-jvideo-embed::before{
	content: "";
	display: block;
	padding-top: 56.25%;
}

/* iframe zawsze wypełnia wrapper */
.dc-jvideo-embed iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
	border: 0;
}
