/* オーバーレイ全体 */
#iwrc-modal-overlay{
	position:fixed;
	inset:0;
	display:none;
	align-items:center;
	justify-content:center;
	background:rgba(0,0,0,.6);
	z-index:999999;
	opacity:0;
	transition:opacity .2s ease;
}

/* 表示時 */
#iwrc-modal-overlay.is-active{
	display:flex;
	opacity:1;
}

/* モーダル本体 */
#iwrc-modal{
	position:relative;
	max-width:min(90vw, 720px);
	border-radius:12px;
	overflow:hidden;
	box-shadow:0 10px 30px rgba(0,0,0,.3);
	background:#000;
}

/* 画像リンク */
#iwrc-modal a.iwrc-link{
	display:block;
	line-height:0;
}

/* 画像：縦90％以内に収めつつ比率維持 */
#iwrc-modal img{
	display:block;
	width:auto;          /* 横幅は画像比率を維持 */
	max-width:100%;      /* モーダル幅を超えない */
	max-height:90vh;     /* 画面高さの90%以内に制限 */
	height:auto;
	margin:0 auto;
}

/* 閉じるボタン */
#iwrc-modal .iwrc-close{
	position:absolute;
	top:8px;
	right:8px;
	width:36px;
	height:36px;
	border:none;
	border-radius:50%;
	background:rgba(0,0,0,.55);
	color:#fff;
	font-size:20px;
	cursor:pointer;
	display:flex;
	align-items:center;
	justify-content:center;
}

#iwrc-modal .iwrc-close:hover{
	background:rgba(0,0,0,.75);
}

/* 背景スクロール抑止 */
body.iwrc-modal-open{
	overflow:hidden;
}

/* アニメが苦手なユーザー配慮 */
@media (prefers-reduced-motion: reduce){
	#iwrc-modal-overlay{
		transition:none;
	}
}
