/*!
 * DST Content Section
 * Main content block with WYSIWYG, optional 4/4/2/1 gallery + editor-safe lightbox and enhanced sources
 */

.dst-content-section{
	width:100%;
	margin-bottom:26px;
	scroll-margin-top:140px;
}

.dst-content-section__heading{
	margin:0 0 16px;
	color:#10213A;
	line-height:1.18;
	letter-spacing:-0.02em;
	transition:color .25s ease;
}

.dst-content-section__content{
	color:#24364A;
	font-size:18px;
	line-height:1.95;
}

.dst-content-section__content > *:first-child{
	margin-top:0 !important;
}

.dst-content-section__content > *:last-child{
	margin-bottom:0 !important;
}

.dst-content-section__content p{
	margin:0 0 18px;
}

.dst-content-section__content ul,
.dst-content-section__content ol{
	margin:0 0 18px 1.2em;
	padding:0;
}

.dst-content-section__content li{
	margin-bottom:0.45em;
}

.dst-content-section__content strong{
	font-weight:700;
	color:#10213A;
}

.dst-content-section__content a{
	color:#0E4DA4;
	text-decoration:none;
	border-bottom:1px solid currentColor;
	transition:all .25s ease;
}

.dst-content-section__content a:hover{
	color:#09336D;
}

.dst-content-section__gallery{
	display:grid;
	grid-template-columns:repeat(4, minmax(0, 1fr));
	gap:16px;
	margin-top:22px;
}

.dst-content-section__gallery-item{
	margin:0;
}

.dst-content-section__gallery-link,
.dst-content-section__gallery-static{
	display:block;
	position:relative;
	border-radius:18px;
	overflow:hidden;
	background:#f5f7fb;
	box-shadow:0 10px 28px rgba(14,24,42,.06);
}

.dst-content-section__gallery-link::after{
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(to top, rgba(11,21,40,.18), rgba(11,21,40,0));
	opacity:0;
	transition:opacity .25s ease;
}

.dst-content-section__gallery-link:hover::after{
	opacity:1;
}

.dst-content-section__gallery-item img{
	display:block;
	width:100%;
	aspect-ratio: 4 / 3;
	object-fit:cover;
	border-radius:18px;
	transition:transform .35s ease;
}

.dst-content-section__gallery-link:hover img{
	transform:scale(1.03);
}

.dst-content-section__caption{
	margin-top:8px;
	font-size:14px;
	line-height:1.65;
	color:#5F6F86;
	text-align:center;
}

.dst-content-section__sources{
	margin-top:22px;
	padding-top:16px;
	border-top:1px dashed #d7dfea;
}

.dst-content-section__sources-title{
	margin:0 0 10px;
	font-size:16px;
	font-weight:800;
	line-height:1.3;
	color:#10213A;
}

.dst-content-section__sources-list{
	margin:0;
	padding:0;
	list-style:none;
}

.dst-content-section__sources-item{
	margin:0 0 10px;
	color:#5F6F86;
	font-size:14px;
	line-height:1.7;
}

.dst-content-section__sources a{
	display:inline-flex;
	align-items:center;
	gap:8px;
	color:#0E4DA4;
	text-decoration:none;
	transition:all .25s ease;
}

.dst-content-section__source-text{
	border-bottom:1px solid currentColor;
	transition:all .25s ease;
}

.dst-content-section__source-icon{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	flex:0 0 auto;
	color:currentColor;
	transition:transform .25s ease, color .25s ease;
}

.dst-content-section__source-icon svg{
	width:15px;
	height:15px;
	display:block;
}

.dst-content-section__source-plain{
	color:#5F6F86;
}

.dst-content-section__sources a:hover{
	color:#09336D;
}

.dst-content-section__sources a:hover .dst-content-section__source-text{
	border-bottom-color:currentColor;
}

.dst-content-section__sources a:hover .dst-content-section__source-icon--after{
	transform:translate(1px, -1px);
}

.dst-lightbox{
	position:fixed;
	inset:0;
	background:rgba(8,15,28,.92);
	z-index:99999;
	display:none;
	align-items:center;
	justify-content:center;
	padding:30px 74px;
}

.dst-lightbox.is-open{
	display:flex;
}

.dst-lightbox__stage{
	width:100%;
	max-width:1120px;
	max-height:100%;
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
}

.dst-lightbox__slide{
	display:none;
	text-align:center;
	width:100%;
}

.dst-lightbox__slide.is-active{
	display:block;
}

.dst-lightbox__slide img{
	max-width:100%;
	max-height:74vh;
	border-radius:18px;
	box-shadow:0 20px 50px rgba(0,0,0,.35);
}

.dst-lightbox__meta{
	max-width:840px;
	margin:14px auto 0;
	text-align:center;
}

.dst-lightbox__title{
	color:#ffffff;
	font-size:18px;
	font-weight:700;
	line-height:1.4;
}

.dst-lightbox__desc{
	margin-top:6px;
	color:#dbe4f0;
	font-size:15px;
	line-height:1.75;
}

.dst-lightbox__close,
.dst-lightbox__nav{
	border:none;
	background:rgba(255,255,255,.1);
	color:#ffffff;
	cursor:pointer;
	transition:all .25s ease;
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}

.dst-lightbox__close:hover,
.dst-lightbox__nav:hover{
	background:rgba(255,255,255,.18);
}

.dst-lightbox__close{
	position:absolute;
	top:20px;
	right:24px;
	width:48px;
	height:48px;
	font-size:36px;
	line-height:1;
	border-radius:50%;
	z-index:3;
}

.dst-lightbox__nav{
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	width:52px;
	height:52px;
	border-radius:50%;
	font-size:30px;
	line-height:1;
	z-index:2;
}

.dst-lightbox__nav--prev{
	left:18px;
}

.dst-lightbox__nav--next{
	right:18px;
}

@media (max-width:1100px){
	.dst-content-section__content{
		font-size:17px;
	}

	.dst-lightbox{
		padding:24px 58px;
	}
}

@media (max-width:1024px){
	.dst-content-section__gallery{
		grid-template-columns:repeat(2, minmax(0, 1fr));
	}
}

@media (max-width:767px){
	.dst-content-section__content{
		font-size:16px;
		line-height:1.85;
	}

	.dst-content-section__gallery{
		grid-template-columns:1fr;
		gap:14px;
	}

	.dst-content-section__caption{
		font-size:13px;
	}

	.dst-content-section__sources-item{
		font-size:13px;
	}

	.dst-lightbox{
		padding:18px 16px 26px;
	}

	.dst-lightbox__slide img{
		max-height:64vh;
		border-radius:14px;
	}

	.dst-lightbox__meta{
		margin-top:12px;
	}

	.dst-lightbox__title{
		font-size:16px;
	}

	.dst-lightbox__desc{
		font-size:14px;
	}

	.dst-lightbox__close{
		top:10px;
		right:10px;
		width:42px;
		height:42px;
		font-size:32px;
	}

	.dst-lightbox__nav{
		width:42px;
		height:42px;
		font-size:24px;
		top:auto;
		bottom:18px;
		transform:none;
	}

	.dst-lightbox__nav--prev{
		left:calc(50% - 54px);
	}

	.dst-lightbox__nav--next{
		right:calc(50% - 54px);
	}
}

@media (min-width:2200px){
	.dst-content-section__content{
		font-size:21px;
	}

	.dst-content-section__sources-title{
		font-size:18px;
	}

	.dst-content-section__sources-item{
		font-size:16px;
	}
}
