/* SD Nugraha — publication image handling */

/* Prestasi often uses portrait posters/certificates. Never crop them. */
.sdn-achievement-section .sdn-post-card{
	overflow:hidden;
}
.sdn-achievement-section .sdn-post-thumb{
	display:flex!important;
	align-items:flex-start;
	justify-content:center;
	width:100%;
	height:auto!important;
	min-height:0!important;
	aspect-ratio:auto!important;
	overflow:visible!important;
	background:linear-gradient(180deg,#f7f7f7,#fff);
}
.sdn-achievement-section .sdn-post-thumb img{
	display:block!important;
	width:100%!important;
	height:auto!important;
	max-width:100%!important;
	max-height:none!important;
	aspect-ratio:auto!important;
	object-fit:contain!important;
	object-position:center top!important;
	margin:0 auto;
}
@media(max-width:640px){
	.sdn-achievement-section .sdn-post-thumb img{
		width:100%!important;
		height:auto!important;
	}
}

/* Gallery, facilities, and activities must stay full-card and must never inherit Prestasi contain rules. */
.sdn-media-gallery-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:20px;
}
.sdn-media-card{
	overflow:hidden;
	border:1px solid var(--sdn-line);
	border-radius:20px;
	background:#fff;
	box-shadow:0 10px 26px rgba(70,35,45,.05);
}
.sdn-media-visual{
	width:100%;
	aspect-ratio:4/3;
	overflow:hidden;
	background:#f7f4f5;
}
.sdn-media-visual img,
.sdn-media-visual iframe,
.sdn-media-visual video{
	display:block;
	width:100%!important;
	height:100%!important;
	max-width:none!important;
	object-fit:cover!important;
	object-position:center!important;
}
.sdn-media-body{padding:16px 18px 18px}

.sdn-facility-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:20px;
}
.sdn-facility-card{
	overflow:hidden;
	border:1px solid var(--sdn-line);
	background:#fff;
	box-shadow:0 10px 26px rgba(70,35,45,.05);
}
.sdn-facility-photo{
	width:100%;
	aspect-ratio:16/10;
	overflow:hidden;
	background:#f7f4f5;
}
.sdn-facility-photo img{
	display:block;
	width:100%!important;
	height:100%!important;
	max-width:none!important;
	object-fit:cover!important;
	object-position:center!important;
}
.sdn-facility-body{padding:16px 18px 18px}

.sdn-act-card img,
.sdn-act-gallery-public img{
	max-width:none!important;
}

@media(max-width:900px){
	.sdn-media-gallery-grid,.sdn-facility-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
	.sdn-media-gallery-grid,.sdn-facility-grid{grid-template-columns:1fr}
}

/* Adaptive photo layout — preserve the complete image instead of cropping landscape photos. */
.sdn-post-thumb,
.sdn-media-visual:has(> img),
.sdn-facility-photo,
.sdn-life-photo,
.sdn-gallery-grid figure{
	height:auto!important;
	min-height:0!important;
	max-height:none!important;
	aspect-ratio:auto!important;
}

.sdn-post-thumb img,
.sdn-media-visual img,
.sdn-facility-photo img,
.sdn-life-photo img,
.sdn-gallery-grid img,
.sdn-act-card > a > img,
.sdn-act-detail-cover img,
.sdn-act-gallery-public img,
.sdn-article-content .wp-block-gallery img,
.sdn-article-content .gallery img{
	display:block!important;
	width:100%!important;
	height:auto!important;
	max-width:100%!important;
	max-height:none!important;
	aspect-ratio:auto!important;
	object-fit:contain!important;
	object-position:center!important;
	transform:none!important;
}

.sdn-post-card:hover .sdn-post-thumb img,
.sdn-facility-card:hover .sdn-facility-photo img,
.sdn-gallery-grid figure:hover img{
	transform:none!important;
}

.sdn-article-content .wp-block-gallery,
.sdn-article-content .gallery{
	align-items:flex-start!important;
}

.sdn-article-content .wp-block-gallery .wp-block-image,
.sdn-article-content .gallery-item,
.sdn-act-gallery-public img{
	align-self:flex-start!important;
	background:linear-gradient(180deg,#f8f5f6,#fff);
}

.sdn-article-content .wp-block-gallery .wp-block-image,
.sdn-article-content .gallery-item{
	overflow:hidden;
	border-radius:16px;
}

@media(max-width:640px){
	.sdn-article-content .wp-block-gallery,
	.sdn-article-content .gallery{
		gap:10px!important;
	}
}

/* Compact gallery thumbnails: consistent cards, full photo opens in lightbox. */
.sdn-act-gallery-public{
	align-items:start!important;
	grid-auto-rows:auto!important;
}
.sdn-act-gallery-public > .sdn-photo-lightbox,
.sdn-media-visual > .sdn-photo-lightbox{
	display:block!important;
	position:relative;
	width:100%!important;
	aspect-ratio:16/9!important;
	overflow:hidden!important;
	border-radius:14px;
	background:#f7f4f5;
	cursor:zoom-in;
}
.sdn-media-visual > .sdn-photo-lightbox{
	height:100%!important;
	border-radius:0;
}
.sdn-act-gallery-public > .sdn-photo-lightbox img,
.sdn-media-visual > .sdn-photo-lightbox img{
	display:block!important;
	width:100%!important;
	height:100%!important;
	max-width:none!important;
	max-height:none!important;
	aspect-ratio:auto!important;
	object-fit:contain!important;
	object-position:center!important;
	margin:0!important;
	transform:none!important;
	background:#f7f4f5!important;
}
.sdn-act-gallery-public > .sdn-photo-lightbox::after,
.sdn-media-visual > .sdn-photo-lightbox::after{
	content:'Lihat penuh';
	position:absolute;
	right:10px;
	bottom:10px;
	padding:6px 9px;
	border-radius:999px;
	background:rgba(38,25,30,.72);
	color:#fff;
	font-size:11px;
	font-weight:800;
	line-height:1;
	letter-spacing:.01em;
	opacity:0;
	transform:translateY(4px);
	transition:opacity .18s ease,transform .18s ease;
	pointer-events:none;
}
.sdn-act-gallery-public > .sdn-photo-lightbox:hover::after,
.sdn-media-visual > .sdn-photo-lightbox:hover::after{
	opacity:1;
	transform:translateY(0);
}
@media(max-width:640px){
	.sdn-act-gallery-public{
		grid-template-columns:1fr!important;
	}
	.sdn-act-gallery-public > .sdn-photo-lightbox::after,
	.sdn-media-visual > .sdn-photo-lightbox::after{
		opacity:1;
		transform:none;
	}
}

/* Site-wide no-crop safety for real content photos. Decorative hero backgrounds/logos are excluded. */
.sdn-post-thumb,
.sdn-facility-photo,
.sdn-media-visual:has(img),
.sdn-act-card > a,
.sdn-gallery-grid figure{
	display:grid!important;
	place-items:center!important;
	width:100%!important;
	aspect-ratio:16/9!important;
	height:auto!important;
	min-height:0!important;
	overflow:hidden!important;
	background:linear-gradient(180deg,#f8f5f6,#fff)!important;
}
.sdn-post-thumb img,
.sdn-facility-photo img,
.sdn-media-visual img,
.sdn-act-card > a > img,
.sdn-gallery-grid figure img{
	width:100%!important;
	height:100%!important;
	max-width:100%!important;
	max-height:100%!important;
	aspect-ratio:auto!important;
	object-fit:contain!important;
	object-position:center!important;
	transform:none!important;
	background:transparent!important;
}
.sdn-principal-badge img,
.sdn-staff-photo img{
	width:100%!important;
	height:100%!important;
	max-width:100%!important;
	max-height:100%!important;
	object-fit:contain!important;
	object-position:center!important;
	background:linear-gradient(180deg,#fff8f6,#f7eef0)!important;
}
.sdn-hero-photo img,
.sdn-lead-box img,
.sdn-life-photo img,
.sdn-article-featured img,
.sdn-page-article img,
.sdn-article-content img,
.sdn-act-detail-cover img{
	display:block!important;
	width:100%!important;
	height:auto!important;
	max-width:100%!important;
	max-height:none!important;
	aspect-ratio:auto!important;
	object-fit:contain!important;
	object-position:center!important;
	transform:none!important;
}
.sdn-lead-box img,
.sdn-article-featured img,
.sdn-act-detail-cover img{
	background:linear-gradient(180deg,#f8f5f6,#fff);
}

/* SPMB Elementor: do not let the global no-crop rule stretch branding images. */
.sdn-spmb-elementor-content .elementor-widget-image{
	text-align:center;
}
.sdn-spmb-elementor-content .elementor-widget-image img{
	display:inline-block!important;
	width:auto!important;
	height:auto!important;
	max-width:100%!important;
	max-height:none!important;
	aspect-ratio:auto!important;
	object-fit:contain!important;
	object-position:center!important;
	transform:none!important;
}
.sdn-spmb-elementor-content .elementor-element-e1f2a3b4 img{
	width:110px!important;
	max-width:110px!important;
	margin-inline:auto!important;
}
@media(max-width:640px){
	.sdn-spmb-elementor-content .elementor-element-e1f2a3b4 img{
		width:88px!important;
		max-width:88px!important;
	}
}

/* Homepage "Kehidupan di Sekolah": compact thumbnails like activity gallery. */
.sdn-life-gallery{
	position:relative!important;
	display:grid!important;
	grid-template-columns:repeat(2,minmax(0,1fr))!important;
	gap:14px!important;
	padding:0!important;
	align-items:start!important;
}
.sdn-life-photo,
.sdn-life-photo-secondary{
	position:static!important;
	inset:auto!important;
	width:auto!important;
	margin:0!important;
	padding:8px!important;
	border-radius:20px!important;
	background:#fff!important;
	overflow:hidden!important;
}
.sdn-life-photo-link{
	display:block!important;
	position:relative!important;
	width:100%!important;
	aspect-ratio:16/9!important;
	overflow:hidden!important;
	border-radius:14px!important;
	background:#f7f4f5!important;
	cursor:zoom-in!important;
}
.sdn-life-photo-link img,
.sdn-life-photo-secondary .sdn-life-photo-link img{
	display:block!important;
	width:100%!important;
	height:100%!important;
	max-width:none!important;
	max-height:none!important;
	aspect-ratio:auto!important;
	object-fit:contain!important;
	object-position:center!important;
	border-radius:0!important;
	margin:0!important;
	transform:none!important;
	background:#f7f4f5!important;
}
.sdn-life-photo-link::after{
	content:'Lihat penuh';
	position:absolute;
	right:9px;
	bottom:9px;
	padding:6px 9px;
	border-radius:999px;
	background:rgba(38,25,30,.72);
	color:#fff;
	font-size:11px;
	font-weight:800;
	line-height:1;
	opacity:0;
	transform:translateY(4px);
	transition:opacity .18s ease,transform .18s ease;
	pointer-events:none;
}
.sdn-life-photo-link:hover::after{
	opacity:1;
	transform:translateY(0);
}
.sdn-life-photo figcaption{
	margin:8px 4px 2px!important;
	line-height:1.4!important;
}
@media(max-width:640px){
	.sdn-life-gallery{grid-template-columns:1fr!important}
	.sdn-life-photo-link::after{opacity:1;transform:none}
}

/* Inner-page intro photo: compact, proportional, clickable full-size. */
.sdn-lead-box{
	align-items:center!important;
	min-height:0!important;
}
.sdn-lead-photo-link{
	display:block!important;
	position:relative!important;
	align-self:center!important;
	width:100%!important;
	aspect-ratio:16/9!important;
	min-height:0!important;
	overflow:hidden!important;
	border-radius:18px!important;
	background:#f7f4f5!important;
	cursor:zoom-in!important;
}
.sdn-lead-box > .sdn-lead-photo-link img{
	display:block!important;
	width:100%!important;
	height:100%!important;
	max-width:none!important;
	max-height:none!important;
	aspect-ratio:auto!important;
	object-fit:contain!important;
	object-position:center!important;
	border-radius:0!important;
	margin:0!important;
	transform:none!important;
	background:#f7f4f5!important;
}
.sdn-lead-photo-link::after{
	content:'Lihat penuh';
	position:absolute;
	right:10px;
	bottom:10px;
	padding:6px 9px;
	border-radius:999px;
	background:rgba(38,25,30,.72);
	color:#fff;
	font-size:11px;
	font-weight:800;
	line-height:1;
	opacity:0;
	transform:translateY(4px);
	transition:opacity .18s ease,transform .18s ease;
	pointer-events:none;
}
.sdn-lead-photo-link:hover::after{
	opacity:1;
	transform:translateY(0);
}
@media(max-width:980px){
	.sdn-lead-box{
		grid-template-columns:1fr!important;
	}
}
@media(max-width:640px){
	.sdn-lead-photo-link::after{opacity:1;transform:none}
}

/* Guru & Tendik: portrait photos must stay visible and uncropped. */
.sdn-staff-photo{
	position:relative!important;
	display:block!important;
	width:100%!important;
	aspect-ratio:4/5!important;
	min-height:0!important;
	overflow:hidden!important;
	background:linear-gradient(180deg,#fff8f6,#f7eef0)!important;
}
.sdn-staff-card-featured .sdn-staff-photo{
	min-height:270px!important;
	aspect-ratio:auto!important;
}
.sdn-staff-photo img{
	position:absolute!important;
	inset:0!important;
	display:block!important;
	width:100%!important;
	height:100%!important;
	max-width:none!important;
	max-height:none!important;
	margin:0!important;
	padding:0!important;
	aspect-ratio:auto!important;
	object-fit:contain!important;
	object-position:center center!important;
	opacity:1!important;
	visibility:visible!important;
	transform:none!important;
	z-index:1!important;
	background:transparent!important;
}
@media(max-width:640px){
	.sdn-staff-card-featured .sdn-staff-photo{
		min-height:0!important;
		aspect-ratio:4/5!important;
	}
}
