/* IWM Galleria — front-end. Matches the iwm.studio brand (Antonio, cream, coral). */
.iwmg{
	--iwmg-cream: var(--blg-cream, #fff9ee);
	--iwmg-ink:   var(--blg-dark, #0f1f24);
	--iwmg-coral: var(--blg-coral, #ec6e5e);
	--iwmg-teal:  #1c7c83;
	--iwmg-head:  'Antonio', 'Arial Narrow', sans-serif;
}
/*
 * Header fixed 90px → pad = 90 + ~10 di aria.
 * Non usare i 140/170 del tema .fp-work.
 */
.iwmg-single,
.iwmg-archive-page{
	background:var(--blg-cream,#fff9ee);
	padding:0;
	width:100%;
	min-height:40vh;
	box-sizing:border-box;
}

/* Hero album — identico al cs-hero dei single progetto */
.iwmg-single .cs-hero{
	--cta:#ec6e5e;
	--dark:#005f73;
	--white:#fff9ee;
	--gray:rgba(255,249,238,.55);
	--border:rgba(255,249,238,.15);
	min-height:100vh;
	background:var(--dark);
	display:flex;
	flex-direction:column;
	justify-content:flex-end;
	padding:calc(90px + 20px) 5vw 70px;
	position:relative;
	overflow:hidden;
	isolation:isolate;
	color:var(--white);
}
body.admin-bar .iwmg-single .cs-hero{
	padding-top:calc(90px + 20px + var(--wp-admin--admin-bar--height, 32px));
}
.iwmg-single .cs-hero-back{
	font-family:'Sora',sans-serif;
	font-size:11px;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:2px;
	color:var(--gray);
	text-decoration:none;
	display:inline-flex;
	align-items:center;
	gap:8px;
	margin-bottom:20px;
	transition:color .2s;
	position:relative;
	z-index:3;
}
.iwmg-single .cs-hero-back:hover{color:var(--white)}
.iwmg-single .cs-hero-back svg{
	width:13px;
	height:13px;
	stroke:currentColor;
	fill:none;
	flex-shrink:0;
}
.iwmg-single .cs-hero-cover-img{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
	display:block;
	z-index:0 !important;
	opacity:.95;
}
.iwmg-single .cs-hero::before{
	content:'';
	position:absolute;
	inset:0;
	background:linear-gradient(to bottom, rgba(0,95,115,.45) 0%, rgba(0,95,115,.65) 40%, rgba(0,95,115,.92) 55%, #005f73 70%);
	z-index:2;
	pointer-events:none;
}
.iwmg-single .cs-hero::after{
	content:'';
	position:absolute;
	inset:0;
	background:radial-gradient(ellipse 80% 50% at 50% 0%, rgba(236,110,94,.06), transparent 55%);
	z-index:1;
	pointer-events:none;
}
.iwmg-single .cs-hero > *:not(.cs-hero-cover-img){
	position:relative;
	z-index:3;
}
.iwmg-single .cs-hero-tags{
	display:flex;
	align-items:center;
	gap:8px;
	flex-wrap:wrap;
	margin-bottom:32px;
}
.iwmg-single .cs-hero-tag{
	font-family:'Sora',sans-serif;
	font-size:10px;
	font-weight:700;
	text-transform:none;
	letter-spacing:2px;
	color:var(--gray);
	padding:5px 14px;
	border:1px solid var(--border);
	border-radius:10px;
}
.iwmg-single .cs-hero-tag-dot{
	width:4px;
	height:4px;
	border-radius:50%;
	background:var(--border);
	flex-shrink:0;
}
.iwmg-single .cs-hero-title{
	font-family:'Antonio',sans-serif;
	font-size:clamp(52px, 11vw, 160px);
	font-weight:700;
	line-height:1.2 !important;
	text-transform:none;
	color:var(--white);
	margin:0 0 40px;
	white-space:nowrap;
}
.iwmg-single .cs-hero-title em{
	color:var(--cta);
	font-style:normal;
}
.iwmg-single .cs-hero-bottom{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:40px;
	border-top:1px solid var(--border);
	padding-top:32px;
	width:100%;
}
.iwmg-single .cs-hero-desc{
	font-family:'Sora',sans-serif;
	font-size:16px;
	line-height:1.8;
	color:var(--white);
	max-width:520px;
	flex:1 1 auto;
	min-width:0;
	margin:0;
}
.iwmg-single .cs-hero-desc--empty{
	flex:1 1 auto;
	min-height:0;
	padding:0;
}
.iwmg-single .cs-hero-desc p{
	margin:0 0 .75em;
	color:var(--white);
}
.iwmg-single .cs-hero-desc p:last-child{
	margin-bottom:0;
}
.iwmg-single .cs-hero-desc a{
	color:var(--white);
	text-decoration:underline;
	text-underline-offset:3px;
}
.iwmg-single .cs-hero-right{
	display:flex;
	flex-direction:column;
	align-items:flex-end;
	gap:16px;
	flex-shrink:0;
	margin-left:auto;
}
.iwmg-single .cs-hero-site-link{
	font-family:'Sora',sans-serif;
	font-size:11px;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:2px;
	color:var(--white);
	text-decoration:none;
	display:inline-flex;
	align-items:center;
	gap:10px;
	padding:12px 26px;
	border:1px solid rgba(255,249,238,.35);
	border-radius:10px;
	backdrop-filter:blur(8px);
	-webkit-backdrop-filter:blur(8px);
	background:rgba(255,255,255,.08);
	transition:background .2s, border-color .2s, color .2s;
}
.iwmg-single .cs-hero-site-link:hover{
	background:var(--cta);
	border-color:var(--cta);
	color:#fff;
}
.iwmg-single .cs-hero-site-link .cs-hero-dl-icon{
	width:14px;
	height:14px;
	flex-shrink:0;
}

/* Hero archivio — layout servizi (ssh-hero) */
.iwmg-archive-hero{
	min-height:75vh;
	display:flex;
	flex-direction:column;
	justify-content:flex-end;
	padding:160px max(6vw, calc((100% - 1400px) / 2)) 80px;
	position:relative;
	overflow:hidden;
	background:var(--iwm-green,#005f73);
	isolation:isolate;
}
.iwmg-archive-hero > *{
	position:relative;
	z-index:1;
}
.iwmg-archive-hero::before,
section.iwmg-archive-hero.section-dark::before{
	content:'';
	position:absolute;
	inset:0;
	pointer-events:none;
	z-index:0;
	background-image:url("data:image/svg+xml,%3Csvg width='400' height='400' viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='23' cy='47' r='1.5' fill='rgba(255,255,255,0.18)'/%3E%3Ccircle cx='87' cy='12' r='1' fill='rgba(255,255,255,0.12)'/%3E%3Ccircle cx='145' cy='78' r='1.5' fill='rgba(255,255,255,0.15)'/%3E%3Ccircle cx='210' cy='33' r='1' fill='rgba(255,255,255,0.1)'/%3E%3Ccircle cx='278' cy='61' r='2' fill='rgba(255,255,255,0.16)'/%3E%3Ccircle cx='340' cy='22' r='1' fill='rgba(255,255,255,0.13)'/%3E%3Ccircle cx='380' cy='90' r='1.5' fill='rgba(255,255,255,0.18)'/%3E%3Ccircle cx='55' cy='130' r='1' fill='rgba(255,255,255,0.14)'/%3E%3Ccircle cx='118' cy='155' r='2' fill='rgba(255,255,255,0.1)'/%3E%3Ccircle cx='190' cy='112' r='1.5' fill='rgba(255,255,255,0.17)'/%3E%3Ccircle cx='250' cy='140' r='1' fill='rgba(255,255,255,0.12)'/%3E%3Ccircle cx='315' cy='125' r='2' fill='rgba(255,255,255,0.15)'/%3E%3Ccircle cx='370' cy='148' r='1' fill='rgba(255,255,255,0.1)'/%3E%3Ccircle cx='42' cy='95' r='1' fill='rgba(255,255,255,0.13)'/%3E%3Ccircle cx='130' cy='30' r='1.5' fill='rgba(255,255,255,0.16)'/%3E%3Ccircle cx='300' cy='42' r='1' fill='rgba(255,255,255,0.11)'/%3E%3Ccircle cx='10' cy='200' r='1.5' fill='rgba(255,255,255,0.16)'/%3E%3Ccircle cx='75' cy='220' r='1' fill='rgba(255,255,255,0.13)'/%3E%3Ccircle cx='160' cy='195' r='2' fill='rgba(255,255,255,0.18)'/%3E%3Ccircle cx='230' cy='230' r='1.5' fill='rgba(255,255,255,0.14)'/%3E%3Ccircle cx='290' cy='205' r='1' fill='rgba(255,255,255,0.17)'/%3E%3Ccircle cx='355' cy='240' r='1.5' fill='rgba(255,255,255,0.12)'/%3E%3Ccircle cx='110' cy='178' r='1' fill='rgba(255,255,255,0.14)'/%3E%3Ccircle cx='200' cy='165' r='1.5' fill='rgba(255,255,255,0.11)'/%3E%3Ccircle cx='330' cy='185' r='1' fill='rgba(255,255,255,0.15)'/%3E%3Ccircle cx='40' cy='285' r='1' fill='rgba(255,255,255,0.15)'/%3E%3Ccircle cx='100' cy='310' r='2' fill='rgba(255,255,255,0.1)'/%3E%3Ccircle cx='175' cy='270' r='1.5' fill='rgba(255,255,255,0.16)'/%3E%3Ccircle cx='240' cy='300' r='1' fill='rgba(255,255,255,0.13)'/%3E%3Ccircle cx='305' cy='275' r='2' fill='rgba(255,255,255,0.18)'/%3E%3Ccircle cx='365' cy='320' r='1' fill='rgba(255,255,255,0.14)'/%3E%3Ccircle cx='60' cy='255' r='1.5' fill='rgba(255,255,255,0.12)'/%3E%3Ccircle cx='150' cy='330' r='1' fill='rgba(255,255,255,0.16)'/%3E%3Ccircle cx='270' cy='250' r='1' fill='rgba(255,255,255,0.13)'/%3E%3Ccircle cx='390' cy='290' r='1.5' fill='rgba(255,255,255,0.11)'/%3E%3Ccircle cx='20' cy='360' r='1.5' fill='rgba(255,255,255,0.17)'/%3E%3Ccircle cx='90' cy='385' r='1' fill='rgba(255,255,255,0.12)'/%3E%3Ccircle cx='155' cy='350' r='2' fill='rgba(255,255,255,0.15)'/%3E%3Ccircle cx='220' cy='375' r='1.5' fill='rgba(255,255,255,0.1)'/%3E%3Ccircle cx='285' cy='355' r='1' fill='rgba(255,255,255,0.16)'/%3E%3Ccircle cx='345' cy='390' r='2' fill='rgba(255,255,255,0.18)'/%3E%3Ccircle cx='395' cy='365' r='1' fill='rgba(255,255,255,0.13)'/%3E%3Ccircle cx='75' cy='370' r='1' fill='rgba(255,255,255,0.14)'/%3E%3Ccircle cx='190' cy='395' r='1.5' fill='rgba(255,255,255,0.11)'/%3E%3Ccircle cx='320' cy='370' r='1' fill='rgba(255,255,255,0.15)'/%3E%3C/svg%3E");
	background-size:400px 400px;
	-webkit-mask-image:linear-gradient(to bottom, transparent 0%, black 20%, black 80%, transparent 100%);
	mask-image:linear-gradient(to bottom, transparent 0%, black 20%, black 80%, transparent 100%);
}
body.admin-bar .iwmg-archive-hero{
	padding-top:calc(160px + var(--wp-admin--admin-bar--height, 32px));
}
.iwmg-archive-hero .ssh-hero-tag{
	display:inline-flex;
	align-items:center;
	gap:12px;
	font-family:'Sora',sans-serif;
	font-size:12px;
	font-weight:600;
	text-transform:none !important;
	letter-spacing:3px;
	color:var(--cta,#ec6e5e);
	margin-bottom:32px;
}
.iwmg-archive-hero .ssh-hero-tag::before{
	content:'';
	display:block;
	width:32px;
	height:1px;
	background:var(--cta,#ec6e5e);
	flex-shrink:0;
}
.iwmg-archive-hero .ssh-hero-title{
	font-family:'Antonio',sans-serif;
	font-size:clamp(56px, 10vw, 130px);
	font-weight:700;
	line-height:1.25;
	text-transform:none;
	color:var(--white-off,#fff9ee);
	margin:0 0 60px;
	max-width:900px;
}
.iwmg-archive-hero .ssh-hero-title em{
	font-style:normal;
	color:var(--cta,#ec6e5e);
}

/* Corpo pagina — cream sotto l'hero */
.iwmg-album-body,
.iwmg-archive-body{
	background:var(--blg-cream,#fff9ee);
	padding:48px max(6vw, calc((100% - 1400px) / 2)) max(72px, calc(48px + env(safe-area-inset-bottom)));
	box-sizing:border-box;
}
.iwmg-archive-body{
	padding-top:clamp(48px, 6vw, 72px);
}

@media (prefers-reduced-motion:no-preference){
	@keyframes iwmg-cs-hero-in{
		from{opacity:0;transform:translateY(16px)}
		to{opacity:1;transform:none}
	}
	@keyframes iwmg-cs-hero-in-lg{
		from{opacity:0;transform:translateY(40px)}
		to{opacity:1;transform:none}
	}
	.iwmg-single .cs-hero-tags{
		opacity:0;
		transform:translateY(16px);
		animation:iwmg-cs-hero-in .8s cubic-bezier(.215,.61,.355,1) .3s both;
	}
	.iwmg-single .cs-hero-title{
		opacity:0;
		transform:translateY(40px);
		animation:iwmg-cs-hero-in-lg 1.1s cubic-bezier(.215,.61,.355,1) .55s both;
	}
	.iwmg-single .cs-hero-bottom{
		opacity:0;
		transform:translateY(20px);
		animation:iwmg-cs-hero-in .9s cubic-bezier(.215,.61,.355,1) .85s both;
	}
	@keyframes iwmg-hero-enter{
		from{opacity:0;transform:translateY(40px)}
		to{opacity:1;transform:none}
	}
	@keyframes iwmg-hero-enter-sm{
		from{opacity:0;transform:translateY(16px)}
		to{opacity:1;transform:none}
	}
	.iwmg-archive-hero .ssh-hero-tag{
		animation:iwmg-hero-enter-sm .6s cubic-bezier(.215,.61,.355,1) .2s both;
	}
	.iwmg-archive-hero .ssh-hero-title{
		animation:iwmg-hero-enter .9s cubic-bezier(.215,.61,.355,1) .4s both;
	}
}

@media (max-width:768px){
	.iwmg-single .cs-hero{
		padding:calc(90px + 16px) 6vw 56px;
		min-height:100vh;
	}
	body.admin-bar .iwmg-single .cs-hero{
		padding-top:calc(90px + 16px + var(--wp-admin--admin-bar--height, 46px));
	}
	.iwmg-single .cs-hero-title{
		white-space:normal !important;
		font-size:80px !important;
		line-height:1.2 !important;
		word-break:break-word;
		text-align:left;
	}
	.iwmg-single .cs-hero-back{color:rgba(255,249,238,.9)}
	.iwmg-single .cs-hero-tag{
		color:rgba(255,249,238,.9);
		border-color:rgba(255,249,238,.5);
	}
	.iwmg-single .cs-hero-bottom{
		flex-direction:column;
		align-items:flex-start;
	}
	.iwmg-single .cs-hero-right{align-items:flex-start}
	.iwmg-archive-hero{
		padding:140px 6vw 60px;
		justify-content:flex-start;
		min-height:60vh;
	}
	body.admin-bar .iwmg-archive-hero{
		padding-top:calc(140px + var(--wp-admin--admin-bar--height, 46px));
	}
	.iwmg-archive-hero .ssh-hero-title{
		margin-bottom:40px;
	}
	.iwmg-album-body,
.iwmg-archive-body{
		padding:36px 16px max(48px, calc(36px + env(safe-area-inset-bottom)));
	}
}

/* Album cards — griglia bento sempre centrata a 1400px */
.iwmg .fp-bento,
.iwmg-masonry,
.iwmg-album-body > .iwmg,
.iwmg-archive-body > .iwmg{
	width:100%;
	max-width:1400px;
	margin-left:auto;
	margin-right:auto;
	box-sizing:border-box;
}
.iwmg .fp-bento{
	padding-left:0;
	padding-right:0;
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	grid-template-rows:420px 300px;
	gap:8px;
}
.iwmg .fp-bento-card:nth-child(1){grid-column:1 / 3;grid-row:1}
.iwmg .fp-bento-card:nth-child(2){grid-column:3 / 4;grid-row:1}
.iwmg .fp-bento-card:nth-child(3){grid-column:1 / 2;grid-row:2}
.iwmg .fp-bento-card:nth-child(4){grid-column:2 / 3;grid-row:2}
.iwmg .fp-bento-card:nth-child(5){grid-column:3 / 4;grid-row:2}
.iwmg .fp-bento-card:nth-child(6){grid-column:1 / 4;grid-row:3;height:260px}
.iwmg-subalbums{margin-bottom:44px}
.iwmg .fp-bento-card .fp-bento-name::after{display:none !important}
.iwmg .fp-bento-name{text-transform:none !important}
.iwmg .fp-bento-name em{font-style:normal;color:#ec6e5e}
/* ---------- Single album ---------- */
.iwmg-back{display:inline-flex;align-items:center;gap:8px;margin:0 0 28px;
	font-family:'Sora', sans-serif;font-weight:600;letter-spacing:.02em;font-size:.95rem;
	color:var(--iwmg-teal);text-decoration:none}
.iwmg-back:hover{color:var(--iwmg-ink)}
.iwmg-desc{max-width:70ch;margin:0 auto;text-align:center;opacity:.85}

/* Download album — foto.iwm.studio */
.iwm-album-actions{
	margin-top:22px;
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:12px;
}
.iwm-dl-album-btn{
	display:inline-flex;
	align-items:center;
	gap:10px;
	padding:13px 26px;
	background:#ec6e5e;
	color:#fff;
	border:none;
	border-radius:10px;
	font-family:'Sora', sans-serif;
	font-size:13px;
	font-weight:600;
	letter-spacing:.3px;
	text-decoration:none;
	cursor:pointer;
	transition:opacity .2s ease, transform .15s ease;
	position:relative;
	overflow:hidden;
}
.iwm-dl-progress{
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	height:3px;
	background:rgba(0,0,0,.18);
	pointer-events:none;
}
.iwm-dl-progress i{
	display:block;
	height:100%;
	width:0;
	background:rgba(255,255,255,.85);
	transition:width .35s ease;
}
.iwm-dl-album-btn:hover{
	color:#fff;
	opacity:.9;
}
.iwm-dl-album-btn:active{
	transform:scale(.98);
}
.iwm-dl-album-btn.is-busy{
	opacity:.72;
	pointer-events:none;
}
.iwm-dl-album-btn.is-busy .iwm-dl-icon{
	animation:iwmg-dl-spin .9s linear infinite;
}
@keyframes iwmg-dl-spin{to{transform:rotate(360deg)}}
.iwm-dl-album-btn .iwm-dl-icon{
	width:17px;
	height:17px;
	display:block;
	flex-shrink:0;
}

@media (max-width:991px){
	.iwmg .fp-bento{
		grid-template-columns:1fr 1fr;
		grid-template-rows:300px 260px 260px 220px;
	}
	.iwmg .fp-bento-card:nth-child(1){grid-column:1 / 3;grid-row:1}
	.iwmg .fp-bento-card:nth-child(2){grid-column:1 / 2;grid-row:2}
	.iwmg .fp-bento-card:nth-child(3){grid-column:2 / 3;grid-row:2}
	.iwmg .fp-bento-card:nth-child(4){grid-column:1 / 2;grid-row:3}
	.iwmg .fp-bento-card:nth-child(5){grid-column:2 / 3;grid-row:3}
	.iwmg .fp-bento-card:nth-child(6){grid-column:1 / 3;grid-row:4;height:auto}
}
@media (max-width:768px){
	/* Override tema homepage: niente carosello orizzontale in galleria */
	.iwmg .fp-bento:not(.iwmg-archive-grid),
	.iwmg-subalbums.fp-bento{
		display:grid !important;
		flex-direction:unset !important;
		grid-template-columns:1fr !important;
		grid-auto-rows:minmax(220px,auto) !important;
		overflow:visible !important;
		scroll-snap-type:none !important;
		-webkit-overflow-scrolling:auto !important;
		scrollbar-width:auto !important;
		gap:12px !important;
		padding:0 !important;
		max-width:1400px !important;
		margin:0 auto !important;
		width:100% !important;
	}
	.iwmg .fp-bento:not(.iwmg-archive-grid) .fp-bento-card,
	.iwmg .fp-bento:not(.iwmg-archive-grid) .fp-bento-card:nth-child(n),
	.iwmg-subalbums.fp-bento .fp-bento-card,
	.iwmg-subalbums.fp-bento .fp-bento-card:nth-child(n){
		flex:unset !important;
		width:auto !important;
		grid-column:1 / -1 !important;
		grid-row:auto !important;
		height:auto !important;
		min-height:220px !important;
		scroll-snap-align:unset !important;
	}
	.iwmg-archive-grid{
		display:grid !important;
		grid-template-columns:1fr !important;
		grid-auto-rows:minmax(220px,56vw) !important;
		gap:12px !important;
		padding:0 !important;
		overflow:visible !important;
		scroll-snap-type:none !important;
	}
	.iwmg-archive-grid .fp-bento-card,
	.iwmg-archive-grid .fp-bento-card:nth-child(n){
		grid-column:1 / -1 !important;
		grid-row:auto !important;
		height:100% !important;
		min-height:0 !important;
		width:auto !important;
		flex:unset !important;
		scroll-snap-align:unset !important;
	}
	.iwmg-archive-grid .fp-bento-card img{
		width:100%;
		height:100%;
		object-fit:cover;
	}
}
.iwmg-masonry{
	position:relative;
	width:100%;
	max-width:1400px;
	margin:0 auto;
	min-height:120px;
}
.iwmg-masonry:not(.is-laid-out) .iwmg-item{
	display:block;
	width:100%;
	margin:0 0 8px;
}
.iwmg-masonry.is-laid-out .iwmg-item{
	position:absolute;
	margin:0;
	display:block;
}

.iwmg-item{
	overflow:hidden;
	border-radius:10px;
	background:#d9d2c4;
	border:0;
	padding:0;
	cursor:zoom-in;
	line-height:0;
	text-decoration:none;
	opacity:0;
	transform:translateY(18px);
	transition:opacity .55s cubic-bezier(.16,1,.3,1), transform .55s cubic-bezier(.16,1,.3,1);
	transition-delay:calc(var(--iwmg-i, 0) * 35ms);
	-webkit-user-select:none;
	user-select:none;
}
.iwmg-item.is-visible{opacity:1;transform:none}
.iwmg-item-media{
	position:relative;
	display:block;
	width:100%;
	height:100%;
	overflow:hidden;
	border-radius:10px;
}
.iwmg-masonry.is-laid-out .iwmg-item-media{position:absolute;inset:0}
.iwmg-item-media picture{display:block;width:100%;height:100%}
.iwmg-item img{
	width:100%;
	height:auto;
	display:block;
	border-radius:10px;
	transition:transform .7s cubic-bezier(.16,1,.3,1);
	-webkit-user-drag:none;
	user-drag:none;
	pointer-events:none;
}
.iwmg-masonry,
.iwmg-lb{
	-webkit-user-select:none;
	user-select:none;
}
.iwmg-lb img{
	-webkit-user-drag:none;
	user-drag:none;
	pointer-events:none;
}
.iwmg-masonry.is-laid-out .iwmg-item img{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
}

/* Shortcode embed inside article/content — override theme img rules */
.sp-content .iwmg,
.entry-content .iwmg,
.wp-block-post-content .iwmg{
	margin:36px 0;
	width:100%;
	max-width:none;
}
.sp-content .iwmg img,
.entry-content .iwmg img,
.wp-block-post-content .iwmg img{
	margin:0 !important;
	max-width:none !important;
}
.iwmg .iwmg-item-media img{
	width:100% !important;
	height:100% !important;
	max-width:none !important;
	margin:0 !important;
	object-fit:cover !important;
	object-position:center;
}
.iwmg-masonry:not(.is-laid-out) .iwmg-item{
	position:relative;
	overflow:hidden;
}
.iwmg-masonry:not(.is-laid-out) .iwmg-item-media{
	position:relative;
	width:100%;
	aspect-ratio:var(--iwmg-ar, 3 / 2);
}
.iwmg-masonry:not(.is-laid-out) .iwmg-item-media img{
	position:absolute;
	inset:0;
	height:100% !important;
}

/* Coral accent bar + zoom chip on hover */
.iwmg-item::after{
	content:"";
	position:absolute;
	bottom:0;left:0;
	width:100%;height:3px;
	background:var(--iwmg-coral);
	transform:scaleX(0);
	transform-origin:left;
	transition:transform .45s cubic-bezier(.16,1,.3,1);
	z-index:3;
	pointer-events:none;
}
.iwmg-item-overlay{
	position:absolute;inset:0;
	display:flex;
	align-items:flex-start;
	justify-content:flex-end;
	padding:14px;
	background:linear-gradient(to top, rgba(0,0,0,.35) 0%, transparent 45%);
	opacity:0;
	transition:opacity .35s ease;
	pointer-events:none;
	z-index:2;
	border-radius:10px;
}
.iwmg-item-zoom{
	width:34px;height:34px;
	border-radius:10px;
	background:rgba(255,255,255,.14);
	backdrop-filter:blur(8px);
	-webkit-backdrop-filter:blur(8px);
	border:1px solid rgba(255,255,255,.22);
	display:flex;align-items:center;justify-content:center;
	color:#fff;
	transform:translateY(-6px);
	transition:transform .3s ease, background .3s ease, border-color .3s ease;
}
.iwmg-item.is-video .iwmg-item-zoom{width:40px;height:40px}
.iwmg-item.is-video .iwmg-item-overlay{
	background:linear-gradient(to top, rgba(0,0,0,.45) 0%, transparent 55%);
}
@media (hover:hover) and (pointer:fine){
	.iwmg-item:hover img{transform:scale(1.05)}
	.iwmg-item:hover::after{transform:scaleX(1)}
	.iwmg-item:hover .iwmg-item-overlay{opacity:1}
	.iwmg-item:hover .iwmg-item-zoom{
		transform:translateY(0);
		background:var(--iwmg-coral);
		border-color:transparent;
	}
}

.iwmg-empty{opacity:.6;padding:50px 0;text-align:center}

/* Gate / password */
.iwmg-gate{
	max-width:440px;
	margin:60px auto;
	text-align:center;
	padding:44px 32px;
	border-radius:18px;
	background:rgba(15,31,36,.04);
	border:1px solid rgba(15,31,36,.08);
	font-family:'Sora', sans-serif;
}
.iwmg-gate-lock{font-size:2.4rem;margin-bottom:12px;line-height:1}
.iwmg-gate p{margin:0 0 12px;color:var(--iwmg-ink);font-size:.98rem;line-height:1.6}
.iwmg-error{color:var(--iwmg-coral);font-weight:600}
.iwmg-pw-form{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap;justify-content:center}
.iwmg-pw-form input{
	flex:1 1 180px;
	padding:13px 16px;
	border:1px solid rgba(15,31,36,.18);
	border-radius:12px;
	font-size:1rem;
	background:#fff;
	font-family:'Sora', sans-serif;
}
.iwmg-pw-form button{
	padding:13px 24px;
	border:0;
	border-radius:12px;
	background:var(--iwmg-coral);
	color:#fff;
	cursor:pointer;
	font-family:'Sora', sans-serif;
	font-weight:600;
	font-size:.95rem;
}
.iwmg-gate a{color:var(--iwmg-teal);font-weight:600;text-decoration:none}
.iwmg-gate a:hover{color:var(--iwmg-coral)}

/* ---------- Lightbox ---------- */
html.iwmg-lb-open,
body.iwmg-lb-open{
	overflow:hidden !important;
	height:100%;
}
.iwmg-lb{
	position:fixed;
	inset:0;
	z-index:200000;
	background:#080a09;
	display:flex;
	align-items:center;
	justify-content:center;
	isolation:isolate;
	overscroll-behavior:none;
	opacity:0;
	visibility:hidden;
	pointer-events:none;
	transition:opacity .28s ease, visibility 0s linear .28s;
}
.iwmg-lb.is-open{
	opacity:1;
	visibility:visible;
	pointer-events:auto;
	transition:opacity .28s ease, visibility 0s;
}
.iwmg-lb[hidden]{display:none !important}
.iwmg-lb-figure{
	margin:0;
	position:relative;
	width:94vw;
	height:94vh;
	max-width:94vw;
	max-height:94vh;
}
.iwmg-lb-slide{
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	max-width:94vw;
	max-height:94vh;
	width:auto;
	height:auto;
	object-fit:contain;
	box-shadow:0 20px 60px rgba(0,0,0,.5);
	border-radius:4px;
	opacity:0;
	transition:opacity .28s ease;
	-webkit-user-drag:none;
	user-drag:none;
	pointer-events:none;
	z-index:1;
}
.iwmg-lb-slide.is-active{
	opacity:1;
	z-index:2;
}
.iwmg-lb.is-opening .iwmg-lb-slide.is-active{
	opacity:0;
}
.iwmg-lb.is-open .iwmg-lb-slide.is-active{
	opacity:1;
}
.iwmg-lb-video{
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	max-width:94vw;
	max-height:94vh;
	width:auto;
	height:auto;
	border:none;
	border-radius:8px;
	background:#000;
	box-shadow:0 20px 60px rgba(0,0,0,.5);
	z-index:3;
}
.iwmg-lb.is-video-mode .iwmg-lb-slide{opacity:0 !important}
.iwmg-lb-topbar{
	position:fixed;
	top:14px;
	right:18px;
	z-index:200001;
	display:flex;
	flex-direction:row;
	align-items:center;
	justify-content:flex-end;
	gap:8px;
	opacity:0;
	transition:opacity .22s ease;
}
.iwmg-lb.is-open .iwmg-lb-topbar{opacity:.88;transition-delay:.08s}
.iwmg-lb-close,
.iwmg-lb-fs,
.iwmg-lb-dl,
.iwmg-lb-pick,
.iwmg-lb-prev,
.iwmg-lb-next{
	color:#fff;
	cursor:pointer;
}
.iwmg-lb-prev,
.iwmg-lb-next{
	position:fixed;
	z-index:200001;
	opacity:0;
	transition:opacity .22s ease;
}
.iwmg-lb.is-open .iwmg-lb-prev,
.iwmg-lb.is-open .iwmg-lb-next{
	opacity:.88;
	transition-delay:.08s;
}
@media (prefers-reduced-motion:reduce){
	.iwmg-lb{transition:none}
	.iwmg-lb-slide{transition:none;opacity:1}
	.iwmg-lb.is-open .iwmg-lb-topbar,
	.iwmg-lb.is-open .iwmg-lb-prev,
	.iwmg-lb.is-open .iwmg-lb-next{opacity:.88;transition:none}
}
.iwmg-lb-close:hover,
.iwmg-lb-fs:hover,
.iwmg-lb-dl:hover,
.iwmg-lb-pick:hover,
.iwmg-lb-prev:hover,
.iwmg-lb-next:hover{opacity:1}
.iwmg-lb-close{
	width:44px;
	height:44px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	background:transparent;
	border:0;
	padding:0;
	font-size:2.4rem;
	line-height:1;
	flex-shrink:0;
}
.iwmg-lb-fs,
.iwmg-lb-dl,
.iwmg-lb-pick{
	width:44px;
	height:44px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	background:rgba(0,0,0,.55);
	border:0;
	border-radius:50%;
	padding:0;
	flex-shrink:0;
}
.iwmg-lb-pick[hidden]{display:none !important}
.iwmg-lb-pick.is-picked{background:#ec6e5e;border-color:#ec6e5e;color:#fff}
.iwmg-lb-dl{text-decoration:none}
.iwmg-lb-dl[hidden]{display:none !important}
.iwmg-lb-fs:hover,
.iwmg-lb-dl:hover,
.iwmg-lb-pick:hover{background:rgba(0,0,0,.9);color:#fff}
.iwmg-lb-pick.is-picked:hover{background:#d85f50;color:#fff}
.iwmg-lb-fs svg{display:block}
.iwmg-lb-dl-icon{width:20px;height:20px;display:block;flex-shrink:0}
.iwmg-lb-prev,
.iwmg-lb-next{
	top:50%;
	transform:translateY(-50%);
	background:none;
	border:0;
	font-size:3.6rem;
	padding:0 20px;
	line-height:1;
}
.iwmg-lb-prev{left:10px}.iwmg-lb-next{right:10px}
.iwmg-lb-counter{
	position:fixed;
	bottom:22px;
	left:50%;
	transform:translateX(-50%);
	z-index:200001;
	margin:0;
	font-family:'Sora', sans-serif;
	font-size:12px;
	font-weight:600;
	letter-spacing:.12em;
	color:rgba(255,255,255,.72);
	text-transform:uppercase;
	pointer-events:none;
}
@media(max-width:768px){
	.iwmg-lb-figure{
		width:100vw;
		height:100dvh;
		max-width:100vw;
		max-height:100dvh;
	}
	.iwmg-lb-slide{
		max-width:100vw;
		max-height:100dvh;
		border-radius:0;
		box-shadow:none;
	}
}
@media(max-width:600px){
	.iwmg-lb-topbar{top:12px;right:12px;gap:6px}
	.iwmg-lb-close{width:40px;height:40px;font-size:2rem}
	.iwmg-lb-fs,.iwmg-lb-dl{width:40px;height:40px}
	.iwmg-lb-dl-icon{width:18px;height:18px}
	.iwmg-lb-prev,.iwmg-lb-next{font-size:2.4rem;padding:0 8px}
}

.iwmg-archive-grid{
	transition:opacity .25s ease;
}
.iwmg-archive-grid.is-loading{
	pointer-events:none;
}
.iwmg-archive-grid .iwmg-archive-empty{
	grid-column:1 / -1;
	text-align:center;
	padding:48px 0;
	margin:0;
}

/* ---------- Album toolbar / batch ---------- */
.iwmg-album-toolbar{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	gap:12px 20px;
	margin:0 0 20px;
}
.iwmg-album-count{
	font-family:'Sora',sans-serif;
	font-size:13px;
	font-weight:600;
	color:rgba(15,31,36,.65);
	letter-spacing:.04em;
}
.iwmg-toolbar-actions{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:flex-end;
	gap:10px 16px;
}
.iwmg-sort-picks{margin-right:auto}
.iwmg-sort{display:flex;flex-wrap:wrap;gap:6px}
.iwmg-sort-btn.iwmg-fav-badge.is-empty{opacity:.55;cursor:default}
.iwmg-sort-btn.iwmg-fav-badge.is-active .iwmg-fav-count{color:inherit}
.iwmg-sort-btn.iwmg-fav-dl:disabled{opacity:.45;cursor:not-allowed}
.iwmg-sort-btn.iwmg-fav-dl.is-busy{opacity:.85;cursor:wait}
.iwmg-sort-btn.iwmg-fav-clear:disabled{opacity:.45;cursor:not-allowed}
.iwmg-fav-count{font-variant-numeric:tabular-nums}

.iwmg-fav-panel{
	margin:0 0 28px;
	padding:18px 20px;
	border-radius:12px;
	background:rgba(0,95,115,.05);
	border:1px solid rgba(0,95,115,.12);
}
.iwmg-fav-panel-head{
	display:flex;
	align-items:baseline;
	justify-content:space-between;
	gap:12px;
	margin:0 0 14px;
}
.iwmg-fav-panel-title{
	margin:0;
	font-family:'Sora',sans-serif;
	font-size:12px;
	font-weight:700;
	letter-spacing:.12em;
	text-transform:uppercase;
	color:var(--iwmg-ink,#0f1f24);
}
.iwmg-fav-panel-count{
	font-family:'Sora',sans-serif;
	font-size:12px;
	color:rgba(15,31,36,.55);
}
.iwmg-fav-strip{
	display:flex;
	gap:8px;
	overflow-x:auto;
	padding-bottom:4px;
	-webkit-overflow-scrolling:touch;
	scrollbar-width:thin;
}
.iwmg-fav-strip::-webkit-scrollbar{height:6px}
.iwmg-fav-thumb{
	flex:0 0 auto;
	position:relative;
	width:72px;
	height:72px;
	border-radius:10px;
	overflow:hidden;
	background:#d9d2c4;
}
.iwmg-fav-thumb-open{
	display:block;
	width:100%;
	height:100%;
	padding:0;
	border:2px solid transparent;
	border-radius:10px;
	overflow:hidden;
	cursor:pointer;
	background:transparent;
	transition:border-color .25s ease,transform .25s ease;
}
.iwmg-fav-thumb:hover .iwmg-fav-thumb-open{border-color:var(--iwmg-coral,#ec6e5e);transform:translateY(-2px)}
.iwmg-fav-thumb-open img{width:100%;height:100%;object-fit:cover;display:block}
.iwmg-fav-thumb-remove{
	position:absolute;
	top:4px;
	right:4px;
	z-index:2;
	width:22px;
	height:22px;
	padding:0;
	border:0;
	border-radius:50%;
	background:rgba(15,31,36,.82);
	color:#fff;
	font-family:'Sora',sans-serif;
	font-size:16px;
	line-height:1;
	display:flex;
	align-items:center;
	justify-content:center;
	cursor:pointer;
	opacity:0;
	transform:scale(.9);
	transition:opacity .2s ease,transform .2s ease,background .2s ease;
}
.iwmg-fav-thumb:hover .iwmg-fav-thumb-remove,
.iwmg-fav-thumb:focus-within .iwmg-fav-thumb-remove{
	opacity:1;
	transform:scale(1);
}
.iwmg-fav-thumb-remove:hover{background:var(--iwmg-coral,#ec6e5e)}
@media (hover:none){
	.iwmg-fav-thumb-remove{opacity:1;transform:scale(1)}
}

.iwmg-item-actions{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	width:100%;
	gap:8px;
	pointer-events:auto;
}
.iwmg-pick-btn{
	width:34px;
	height:34px;
	border-radius:10px;
	border:1px solid rgba(255,255,255,.22);
	background:rgba(255,255,255,.14);
	backdrop-filter:blur(8px);
	-webkit-backdrop-filter:blur(8px);
	color:#fff;
	display:flex;
	align-items:center;
	justify-content:center;
	cursor:pointer;
	padding:0;
	transition:background .25s ease,border-color .25s ease,transform .25s ease;
}
.iwmg-pick-btn:hover{background:rgba(255,255,255,.24)}
.iwmg-pick-btn.is-picked{background:#ec6e5e;border-color:#ec6e5e;color:#fff}
.iwmg-item:focus,
.iwmg-item:focus-visible{outline:none}
.iwmg-pick-btn:focus{outline:none}
.iwmg-pick-btn:focus-visible{outline:2px solid rgba(255,255,255,.85);outline-offset:2px}

@media (hover:none){
	.iwmg-pick-btn{opacity:1;transform:none}
	.iwmg-item-overlay{opacity:1;background:linear-gradient(to top,rgba(0,0,0,.28) 0%,transparent 55%)}
}

.iwmg-sort-btn{
	font-family:'Sora',sans-serif;
	font-size:11px;
	font-weight:600;
	letter-spacing:.08em;
	text-transform:uppercase;
	padding:8px 14px;
	border-radius:8px;
	border:1px solid rgba(15,31,36,.12);
	background:transparent;
	color:var(--iwmg-ink,#0f1f24);
	cursor:pointer;
	transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.iwmg-sort-btn:hover{border-color:var(--iwmg-coral,#ec6e5e);color:var(--iwmg-coral,#ec6e5e)}
.iwmg-sort-btn.is-active{background:var(--iwmg-coral,#ec6e5e);border-color:var(--iwmg-coral,#ec6e5e);color:#fff}
.iwmg-item.is-deferred{display:none !important}
.iwmg-item.is-page-off{display:none !important}
/* Embedded shortcode: hide the per-photo selection buttons (no toolbar/panel). */
.iwmg-masonry[data-embed="1"] .iwmg-pick-btn{display:none !important}
/* Numbered pagination */
.iwmg-page-nav{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px}
.iwmg-page-btn{
	font-family:'Sora',sans-serif;font-size:13px;font-weight:600;min-width:38px;height:38px;
	padding:0 10px;border-radius:10px;border:1px solid rgba(15,31,36,.16);
	background:transparent;color:var(--iwmg-ink,#0f1f24);cursor:pointer;
	transition:background .2s,border-color .2s,color .2s}
.iwmg-page-btn:hover:not(:disabled){border-color:var(--iwmg-coral,#ec6e5e);color:var(--iwmg-coral,#ec6e5e)}
.iwmg-page-btn.is-active{background:var(--iwmg-coral,#ec6e5e);border-color:var(--iwmg-coral,#ec6e5e);color:#fff}
.iwmg-page-btn:disabled{opacity:.4;cursor:default}
.iwmg-page-dots{padding:0 4px;opacity:.5}
.iwmg-load-more-wrap{text-align:center;margin:28px 0 8px}
.iwmg-load-more{
	font-family:'Sora',sans-serif;
	font-size:13px;
	font-weight:600;
	padding:14px 28px;
	border:2px solid var(--iwmg-coral,#ec6e5e);
	border-radius:10px;
	background:var(--iwmg-coral,#ec6e5e);
	color:#1a1a1a;
	cursor:pointer;
	transition:background .25s ease,border-color .25s ease,color .25s ease;
}
.iwmg-load-more:hover{
	background:transparent;
	border-color:var(--iwmg-coral,#ec6e5e);
	color:var(--iwmg-coral,#ec6e5e);
}
.iwmg-load-sentinel{height:1px;width:100%}

/* ---------- Map ---------- */
.iwmg-map-wrap{margin:0 0 36px}
.iwmg-map-title{
	font-family:'Sora',sans-serif;
	font-size:1.1rem;
	font-weight:600;
	margin:0 0 14px;
	text-align:center;
	color:var(--iwmg-ink,#0f1f24);
}
.iwmg-map{
	width:100%;
	height:340px;
	border-radius:14px;
	overflow:hidden;
	border:1px solid rgba(15,31,36,.1);
	box-shadow:0 12px 32px rgba(0,95,115,.08);
}
@media(max-width:768px){.iwmg-map{height:260px}}

.iwmg-lb.is-fullscreen .iwmg-lb-figure,
.iwmg-lb.is-fullscreen .iwmg-lb-slide,
.iwmg-lb.is-fullscreen .iwmg-lb-video{
	max-width:100vw;
	max-height:100vh;
	border-radius:0;
}
