@charset "utf-8";
.gallery_lt{position:relative;overflow:hidden;}
.gallery_lt .b_tit {display:flex; justify-content: space-between;    align-items: center;margin-bottom: 20px;font-size:22px}
/*.gallery_lt ul:after {display:block;visibility:hidden;clear:both;content:""}*/

.gallery_lt ul{flex-wrap: wrap;}
.gallery_lt li{float:left; width:calc(25% - 15px);border:1px solid #ddd;}
.gallery_lt li:first-child{margin-left:0;}
.gallery_lt li .lt_img{display:block;overflow:hidden;}
.gallery_lt li .lt_img img{width:100%;height:auto}
.gallery_lt li:hover .lt_img img{transform: scale(1.06); transition: transform 500ms cubic-bezier(0.165, 0.84, 0.44, 1) 0ms;}

.gallery_lt li .fa-heart{color:#ff0000;}
.gallery_lt li .fa-lock{display: inline-block;line-height: 14px;width: 16px;font-size: 11px;color: #4f818c;background: #cbe3e8;text-align: center;border-radius: 2px;border:1px solid #a2c6ce}
.gallery_lt li .fa-caret-right{color:#bbb}
.gallery_lt .lt_cmt{background:#5c85c1;color:#fff; font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;white-space: nowrap;
-webkit-box-shadow: inset 0 2px 5px  rgba(255,255,255,0.4);
-moz-box-shadow: inset 0 2px 5px  rgba(255,255,255,0.4);
box-shadow: inset 0 2px 5px  rgba(255,255,255,0.4);}

.gallery_lt .lt_txt{padding:10px; word-break:break-all;flex-grow: 1; display: flex;  flex-direction: column;  justify-content: space-between;    width: 100%;}
.gallery_lt .lt_txt > a{}
.gallery_lt .lt_miri{font-weight:normal; height:50px; margin:10px 0; display:block;}
.gallery_lt .lt_date{display:block;font-weight:normal;font-size: 13px; color: #8c8c8c; }
.gallery_lt .lt_more {position:absolute;top:0px;right:0px;display:block;text-align:center; }
.gallery_lt .lt_more img{max-width:100%;}
/*.gallery_lt .lt_more:hover{transform: rotate(180deg); transition: all ease 0.5s;}*/

.gallery_lt  .empty_li{line-height:145px ;text-align:center;padding:0;width:100%}
.gallery_lt  .empty_li:before{background:none;padding:0}


.gallery_lt .txt_cut {
    /*white-space: normal;*/
	white-space: nowrap;
	word-break:break-all;
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}
/*.gallery_lt  li img{vertical-align: text-bottom;}*/



.gallery_lt li .lt_img img,
.gallery_lt li .lt_img > div{
	width:100%;
	aspect-ratio:360/200;
	height:auto;
	object-fit:cover;
	padding-bottom:0 !important;  /* 인라인 padding-bottom 방식 무력화 */
	display:block;
}



/* ── 상태 박스 : B01 목록과 동일 (이미지 상단 오버레이, 높이 49px 통일) ── */
.gallery_lt .con-img{position:relative;}
.gallery_lt .list_state_box{position:absolute;left:0;top:0;width:100%;z-index:2;}
.gallery_lt .list_state_box .stb-box{width:100%;font-size:14px;text-align:center;height:49px;line-height:1;display:flex;justify-content:center;align-items:center;}

/* ── 지정사업 코너 배지 ─────────────────────────── */
/* [2026-08-23] 상태 박스(49px) 바로 아래에 표시되도록 top:49px (B01 목록과 동일) */
.gallery_lt li{position:relative;}

.appoint-icon{
	position:absolute; left:0; top:49px;
	width:88px; height:88px;
	clip-path:polygon(0 0, 100% 0, 0 100%);          /* 왼쪽 위 삼각형 */
	background:var(--theme-color);                    /* color-mix 미지원 브라우저용 */

	backdrop-filter:blur(3px) saturate(1.3);          /* 유리 질감 */
	-webkit-backdrop-filter:blur(3px) saturate(1.3);
	overflow:hidden;
	pointer-events:none;                              /* 클릭은 아래 링크로 통과 */
	z-index:3;
	animation:appointPulse 3s ease-in-out infinite;   /* 은은한 깜빡임 */
}

/* 광택이 대각선으로 스치고 지나가는 효과 */
.appoint-icon::after{
	content:'';
	position:absolute; top:0; left:0; width:100%; height:100%;
	background:linear-gradient(120deg, rgba(255,255,255,0) 35%, rgba(255,255,255,.55) 50%, rgba(255,255,255,0) 65%);
	transform:translate(-100%,-100%);
	animation:appointShine 3s ease-in-out infinite;
}

/* 대각선 방향 텍스트 */
.appoint-icon .appoint-icon-txt{
	position:absolute; top:22px; left:-28px;
	display:block; width:120px;
	transform:rotate(-45deg);
	text-align:center;
	font-size:12px; letter-spacing:-.5px; line-height:18px;
	text-shadow:0 1px 3px rgba(0,0,0,.4);
}

@keyframes appointShine{
	0%, 55%   {transform:translate(-100%,-100%);}
	85%, 100% {transform:translate(100%,100%);}
}
@keyframes appointPulse{
	0%, 100% {opacity:1;}
	50%      {opacity:.75;}
}

/* 움직임 최소화 설정 사용자 배려 (선택) */
@media (prefers-reduced-motion: reduce){
	.appoint-icon, .appoint-icon::after{animation:none;}
}