/* =============================================================================
   Diakonis — Post Videos (single Blog / Actualité posts)
   Reshapes a post that has videos into [ article text 75% | video rail 25% ]
   with a click-to-open centered lightbox. Design system: navy #170B3A titles ·
   purple #350F79 play/CTA · magenta #C434C9 hover · 10px radius · pill buttons ·
   real px (site renders at zoom:0.8). Rail rules are scoped under #page-container
   to beat Divi; the lightbox is NOT (it is moved to <body>, outside the zoom).
   ============================================================================= */

/* --- two-column wrap: article text (75%) + video rail (25%, right) ---------- */
#page-container .dkPostVideo__wrap { display:flex; gap:40px; align-items:flex-start; width:100%; }
#page-container .dkPostVideo__content { flex:1 1 auto; min-width:0; }
#page-container .dkPostVideo__rail { flex:0 0 25%; max-width:300px; min-width:200px; box-sizing:border-box; padding-left:26px; border-left:1px solid #ECE5F3; }

/* rail heading */
#page-container .dkPostVideo__railTitle {
	margin:0 0 18px; padding:0; color:#170B3A !important; font-weight:600; font-size:20px; line-height:1.2;
}

/* stacked list of thumbnails */
#page-container .dkPostVideo__items { display:flex; flex-direction:column; gap:20px; }

/* --- one clickable thumbnail ------------------------------------------------ */
#page-container .dkPostVideo__item {
	appearance:none; -webkit-appearance:none; display:block; width:100%; padding:0; margin:0;
	background:none; border:0; cursor:pointer; text-align:left; font-family:inherit; color:inherit;
}
#page-container .dkPostVideo__thumb {
	position:relative; display:block; width:100%; aspect-ratio:16/9; overflow:hidden;
	border-radius:10px; background:#F0ECF5; box-shadow:0 8px 22px -14px rgba(23,11,58,.5);
}
#page-container .dkPostVideo__thumb img,
#page-container .dkPostVideo__thumb .dkPostVideo__frame,
#page-container .dkPostVideo__thumb .dkPostVideo__placeholder {
	position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; border:0;
	transition:transform .5s ease;
}
#page-container .dkPostVideo__thumb .dkPostVideo__placeholder {
	background:linear-gradient(135deg,#513B90 0%,#350F79 100%);
}
#page-container .dkPostVideo__item:hover .dkPostVideo__thumb img,
#page-container .dkPostVideo__item:hover .dkPostVideo__thumb .dkPostVideo__frame { transform:scale(1.05); }

/* darken veil so the play button stays legible on any frame */
#page-container .dkPostVideo__thumb::after {
	content:""; position:absolute; inset:0; background:rgba(23,11,58,.18);
	transition:background-color .25s ease; pointer-events:none;
}
#page-container .dkPostVideo__item:hover .dkPostVideo__thumb::after { background:rgba(23,11,58,.32); }

/* play button */
#page-container .dkPostVideo__play {
	position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
	width:52px; height:52px; border-radius:50%; z-index:2;
	display:flex; align-items:center; justify-content:center;
	background:#350F79; color:#FFFFFF;
	box-shadow:0 8px 20px -6px rgba(53,15,121,.7);
	transition:background-color .25s ease, transform .25s ease;
}
#page-container .dkPostVideo__play svg { margin-left:3px; }
#page-container .dkPostVideo__item:hover .dkPostVideo__play { background:#C434C9; transform:translate(-50%,-50%) scale(1.08); }
#page-container .dkPostVideo__item:focus-visible { outline:none; }
#page-container .dkPostVideo__item:focus-visible .dkPostVideo__thumb { box-shadow:0 0 0 3px #C434C9, 0 8px 22px -14px rgba(23,11,58,.5); }

/* optional caption */
#page-container .dkPostVideo__label {
	display:block; margin:10px 0 0; color:#170B3A !important; font-weight:600; font-size:14px; line-height:1.4;
	transition:color .2s ease;
}
#page-container .dkPostVideo__item:hover .dkPostVideo__label { color:#C434C9 !important; }

/* --- responsive: below tablet, drop the rail under the text as a grid ------- */
@media (max-width: 980px) {
	#page-container .dkPostVideo__wrap { flex-direction:column; gap:34px; }
	#page-container .dkPostVideo__rail { flex-basis:auto; width:100%; max-width:none; padding-left:0; padding-top:28px; border-left:0; border-top:1px solid #ECE5F3; }
	#page-container .dkPostVideo__items { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:22px; }
}
@media (max-width: 480px) {
	#page-container .dkPostVideo__items { grid-template-columns:1fr; }
	#page-container .dkPostVideo__railTitle { font-size:18px; }
}

/* =============================================================================
   Lightbox (moved to <body> by JS — NOT under #page-container, so it is not
   affected by the site's zoom:0.8 and covers the true viewport).
   ============================================================================= */
.dkPostVideoModal { position:fixed !important; inset:0; z-index:999999; display:none; }
.dkPostVideoModal.is-open { display:flex; align-items:center; justify-content:center; padding:5vh 4vw; }
.dkPostVideoModal__backdrop { position:absolute; inset:0; background:rgba(23,11,58,.9); }
@supports ((-webkit-backdrop-filter:blur(2px)) or (backdrop-filter:blur(2px))) {
	.dkPostVideoModal__backdrop { -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px); }
}
.dkPostVideoModal__dialog {
	position:relative; z-index:1; width:min(1000px,92vw); max-height:88vh;
	font-family:"Switzer","Open Sans",Helvetica,Arial,sans-serif;
	animation:dkpvIn .22s ease-out;
}
@keyframes dkpvIn { from { opacity:0; transform:translateY(14px) scale(.985); } to { opacity:1; transform:none; } }

.dkPostVideoModal__frame {
	position:relative; width:100%; aspect-ratio:16/9; max-height:80vh;
	background:#000; border-radius:12px; overflow:hidden;
	box-shadow:0 30px 80px -20px rgba(0,0,0,.7);
}
.dkPostVideoModal__frame iframe,
.dkPostVideoModal__frame video {
	position:absolute; inset:0; width:100%; height:100%; border:0; display:block; background:#000;
}
.dkPostVideoModal__title { margin:14px 2px 0; color:#FFFFFF; font-size:15px; font-weight:600; line-height:1.5; text-align:center; }
.dkPostVideoModal__title:empty { display:none; }

.dkPostVideoModal__close {
	position:absolute; top:-16px; right:-16px; z-index:2; width:42px; height:42px; border-radius:50%;
	border:0; cursor:pointer; background:#FFFFFF; color:#170B3A;
	display:flex; align-items:center; justify-content:center;
	box-shadow:0 6px 18px -6px rgba(0,0,0,.6); transition:background-color .2s ease, color .2s ease, transform .2s ease;
}
.dkPostVideoModal__close:hover { background:#C434C9; color:#FFFFFF; transform:rotate(90deg); }
.dkPostVideoModal__close:focus-visible { outline:3px solid #85CBC6; outline-offset:2px; }

@media (max-width: 640px) {
	.dkPostVideoModal.is-open { padding:0; }
	.dkPostVideoModal__dialog { width:100vw; }
	.dkPostVideoModal__frame { border-radius:0; }
	.dkPostVideoModal__close { top:12px; right:12px; }
}

html.dkpv-lock, html.dkpv-lock body { overflow:hidden !important; }
