@charset "utf-8";

/* 리스트 */

/*로더*/
.gallery-item-loading-wrap{ position:absolute; background-color:#fff; width:100%; height:100%; z-index:99; }
.gallery-item-loading-wrap .gallery-spinner{ margin:100px auto; width:50px; height:40px; text-align:center; font-size:10px; }
.gallery-item-loading-wrap .gallery-spinner > div{ /*	background-color:#ff6c3a;*/ height:100%; width:6px; display:inline-block; -webkit-animation:sk-stretchdelay 1.2s infinite ease-in-out; animation:sk-stretchdelay 1.2s infinite ease-in-out; }
.gallery-item-loading-wrap .gallery-spinner .gallery-rect2{ -webkit-animation-delay:-1.1s; animation-delay:-1.1s; }
.gallery-item-loading-wrap .gallery-spinner .gallery-rect3{ -webkit-animation-delay:-1.0s; animation-delay:-1.0s; }
.gallery-item-loading-wrap .gallery-spinner .gallery-rect4{ -webkit-animation-delay:-0.9s; animation-delay:-0.9s; }
.gallery-item-loading-wrap .gallery-spinner .gallery-rect5{ -webkit-animation-delay:-0.8s; animation-delay:-0.8s; }

@-webkit-keyframes sk-stretchdelay{
	0%, 40%, 100%{ -webkit-transform:scaleY(0.4) }	
	20%{ -webkit-transform:scaleY(1.0) }
}

@keyframes sk-stretchdelay{
	0%, 40%, 100%{ 
		transform:scaleY(0.4);
		-webkit-transform:scaleY(0.4);
	}	20%{ 
		transform:scaleY(1.0);
		-webkit-transform:scaleY(1.0);
	}
}

/* 목록 보기 */
.nodata{width:100%;text-align:center;padding:50px 0;}

#board-container .dropdown-menu{ padding:0; margin:0; }
#board-container .dropdown-item{ padding:10px; font-size:14px; }

.tsearch-top, .tsearch-bottom{display:none;}

#board-container .gallery-items{ margin-bottom:15px; }
#board-container .gallery-item{ position:relative; }
#board-container .gallery-item .gallery-thumb{ position:relative; padding-top:100%; overflow:hidden; }
#board-container .gallery-item .gallery-thumb .gallery-centered{ position:absolute; top:0; left:0; right:0; bottom:0; -webkit-transform:translate(50%,50%); -ms-transform:translate(50%,50%); transform:translate(50%,50%); }
#board-container .gallery-item .gallery-thumb .gallery-centered img.h-crop{ width:100%; height:auto; }
#board-container .gallery-item .gallery-thumb .gallery-centered img.w-crop{ width:auto; height:100%; }
#board-container .gallery-item .gallery-thumb .gallery-centered img{ position:absolute; top:0; left:0; -webkit-transform:translate(-50%,-50%); -ms-transform:translate(-50%,-50%); transform:translate(-50%,-50%); }
#board-container .gallery-info{ padding:5px 0; }
#board-container .gallery-title{ display:block; font-size:14px; line-height:16px; margin-top:10px; overflow:hidden; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
#board-container .date-info{ color:#666666; font-weight:400; margin-top:10px; display:table; table-layout:fixed; width:100%; }
#board-container .date-info span{ display:table-cell; width:50%; padding:0; margin:0; font-size:12px; line-height:14px; }
#board-container .date-info span:nth-child(2){ text-align:right; color:#999; }
#board-container .chk-wrap{ position:relative; }
#board-container .chk-item{ position:absolute; top:0; z-index:20; }

.sns-icon-box{width:100%;margin-top:20px;text-align:right;}
.sns-icon{border-radius:50%;width:10%;max-width:40px;}

.nodata{width:100%;text-align:center;padding:50px 0;}

.btn_bo_user{width:100%;}
.btn_bo_user .btn_gr_l{float:left;width:50%;}
.btn_bo_user .btn_gr_r{float:right;width:50%;text-align:right;}

.bo-shdow-wrap{ position:relative; }
.bo-shdow-wrap .bo-shadow{ position:absolute; z-index:1; top:-12px; }
.bo-shdow-wrap .bo-shadow img{ width:100%; }

.list-tsearch{border:1px solid #ddd;background:#fafafa;padding:20px 15px 3px;margin-bottom:15px;}

/* 글쓰기 폼 */
.write-wrap .form-group{margin-top:15px;padding-top:15px;border-top:1px dotted #eee;}
.write-wrap .form-group:nth-child(2){margin:0;padding:0;border:0;}
.form-control, .well, .btn, .alert, .input-group-addon, .label{
		border-radius:0 !important;
}
.cursor{cursor:pointer;}
.write-wrap{overflow:hidden;padding-top:15px;}
.write-wrap h2{padding:0px;margin:0px;font-size:14px;font-weight:bold;}
.write-wrap label{font-weight:bold;margin-top:4px;line-height:normal;}
.write-wrap .write-content{height:300px;}
.write-wrap .write-file{border:0;box-shadow:none;}
.write-wrap .write-btn{margin:15px 0px 25px;text-align:center;}
.write-wrap .delete-file{margin:0px;padding:0px 10px;font-weight:normal;}
.write-wrap .delete-file label{font-weight:normal;}

.write-wrap .sp-label{font-weight:normal;margin-right:10px;}
.write-wrap .sp-label input[type="checkbox"], .write-wrap .sp-label input[type="radio"]{margin-top:0px;}

#autosave_pop div{text-align:right;}
#autosave_pop button{margin:0;margin-left:10px;padding:0;border:0;background:transparent;color:#888;}
#autosave_pop ul{margin:0;padding:0;padding-left:15px;list-style:disc;}
#autosave_pop li{padding:2px 5px; }
#autosave_pop li:after{display:block;visibility:hidden;clear:both;content:"";}
#autosave_pop a{display:block;float:left;}
#autosave_pop span{display:block;;float:right;}

#variableFiles{width:100%;margin:0;border:0;}
#variableFiles td{padding:0px 0px 7px;border:0;}
#variableFiles input[type=file]{box-shadow :none;border:1px solid #ccc !important;outline:none;}
#variableFiles .form-group{margin:0 0 10px 0;border:0;}
#variableFiles .checkbox-inline{padding-top:0px;font-weight:normal;}

/* 글보기 */
.view-content{min-height:300px;}
.ellipsis{display:inline-block;text-overflow:ellipsis;white-space:nowrap;word-wrap:normal;overflow:hidden;font-size:12px;}
.red, i.red{color:rgb(233, 27, 35);}
.view-wrap .img-resize img{max-width:100%;height:auto;}
.view-wrap .no-attach{border-bottom:0px;}
.view-wrap .view-cnt{letter-spacing:0;}
.view-wrap .card-skin{border-bottom:0;}
.view-wrap .list-group-wrap{margin-top:5px;}

.view-wrap .tit{font-size:20px;font-weight:bold;padding:10px 0;margin:0;line-height:30px;display:block;word-wrap:normal;letter-spacing:-1px;}
.view-wrap h1 span.talker-photo{margin-bottom:10px;margin-right:10px;}
.view-head{border-left:0px;border-right:0px;}
.view-head .sp{display:inline-block;width:20px;text-align:center;font-size:11px;color:#888;}
.view-head .list-group-item{padding:5px 15px;border-style:dotted;}
.view-tag{margin:10px 0px;padding:0px;color:#888;}
.view-tag a{color:#888;}
.view-tag a:hover{color:crimson;}
.view-cnt{margin-top:4px;}
.view-img img{display:block;max-width:100%;margin:0 auto 15px;border:0;height:auto;}
.view-content{padding-bottom:20px;line-height:180%;}
.view-content img{ /*width:auto;*/ width: 100%; height:auto;max-width:100%;}
.view-content p{padding:0;margin:0;line-height:180%;}
.view-good-box{text-align:center;}
.view-good-box span{margin:15px 6px;width:80px;height:80px;display:inline-block;}
.view-good-box a{background:rgb(245, 245, 245);padding-top:14px;border-radius:50%;width:80px;height:80px;text-align:center;color:rgb(51, 51, 51);font-size:22px;line-height:26px;display:inline-block;}
.view-good-box .view-good a:hover{background:rgb(223, 17, 25);color:rgb(255, 255, 255);}
.view-good-box .view-nogood a:hover{background:rgb(0, 0, 0);color:rgb(255, 255, 255);}
.view-author .auth-photo{width:160px;padding-right:15px;}
.view-icon{margin-bottom:10px;}
.view-icon img{width:34px;border-radius:50%;margin-bottom:5px;}
.view-comment{margin:0px;padding:0px 0px 5px;text-transform:capitalize;overflow:hidden;border-bottom:1px solid rgb(51, 51, 51);display:inline-block;position:relative;}

/* Padding */
.view-padding{padding:25px 0;}
.is-mobile .view-padding{padding-left:0px;padding-right:0px;}
.view-author-none{height:1px;border-top:1px solid #eee;margin:12px 0px 20px;}

/* Comment */
.comment-media{margin:10px 0px;}
.comment-media .photo i{background:rgb(245, 245, 245);padding:15px;border-radius:50%;width:64px;height:64px;text-align:center;color:rgb(143, 143, 143);font-size:30px;display:inline-block;}
.comment-media .photo img{border-radius:50%;width:64px !important;height:64px !important;display:inline-block;}
.view-mobile .comment-media .photo i{padding:10px;width:54px;height:54px;}
.view-mobile .comment-media .photo img{width:54px !important;height:54px !important;}

.comment-media .media{border-top:1px solid #999;margin:7px 0px;padding:7px 0px 0px;}
.comment-media :first-child.media{border-top:0px;margin-top:0px;padding-top:0px;}
.comment-media h5{margin:2px 0px;line-height:22px;}
.comment-media .media .media-body{padding-left:0px;}
.comment-media .media .media-info{margin-left:10px;}
.comment-media .media .media-content{padding:10px 0;margin:10px 0;border-top:1px dotted #eee;}
.comment-media .media .media-content .re{color:#ff8400;}
.comment-media .media .media-btn {	margin-left:4px;}
.comment-btn-wrap .btn{ padding:5px 0 !important; width:30px; text-align:center; }
.comment-form{padding-top:10px;}
.comment-box{border:1px solid #ddd;padding:12px 12px 0px;margin-bottom:15px;background:#fbfbfb;}
.comment-content{display:table;width:100%;table-layout:fixed;}
.comment-content .comment-cell{display:table-cell;padding:0px;text-align:center;vertical-align:middle;}
.comment-content .comment-cell.comment-submit{width:80px;height:100%;background:#fafafa;border:1px solid #ccc;border-left:0px;cursor:pointer;}
.comment-btn .cursor{margin-left:12px;color:#787878;}

#wr_content{resize:none;}
#bo_vc_opt ol{	margin:0;padding:0;list-style:none;zoom:1;}
#bo_vc_opt ol:after{display:block;visibility:hidden;clear:both;content:"";}
#bo_vc_opt ol li{float:left;margin:0;}
#bo_vc_send_sns ul{margin:0;padding:0;list-style:none;zoom:1;}
#bo_vc_send_sns ul:after{display:block;visibility:hidden;clear:both;content:"";}
#bo_vc_send_sns ul li{	float:left;margin:0 20px 0 0;}
#bo_vc_send_sns input{	margin:0 0 0 5px;}

@media all and (max-width:768px){
	.responsive .view-wrap h1{text-overflow:clip;overflow:none;white-space:normal;line-height:28px;font-size:20px;margin-bottom:10px;}
	.responsive .view-wrap h1 .photo{display:none;}
}

@media all and (max-width:480px){
	.responsive .view-author .auth-photo{float:none;width:100%;padding-right:0px;}
	.responsive .view-icon .pull-right{float:none !important;}
}

.board-pagination{ margin:-30px 0 30px 0; }
.more-loader-btn{ display:none; }

.board-list-loader-wrap{ display:none; position:fixed; z-index:99; top:30%; left:50%; opacity:0.5; -webkit-transform:translate(-50%,-50%); -ms-transform:translate(-50%,-50%); -o-transform:translate(-50%,-50%); transform:translate(-50%,-50%); }
.board-list-loader, .board-list-loader:before, .board-list-loader:after{ /*background:#ff6c3a;*/ -webkit-animation:load1 1s infinite ease-in-out; animation:load1 1s infinite ease-in-out; width:1em; height:4em; }
.board-list-loader{ /*color:#ff6c3a;*/ text-indent:-9999em; margin:88px auto; position:relative; font-size:11px; -webkit-transform:translateZ(0); -ms-transform:translateZ(0); transform:translateZ(0); -webkit-animation-delay:-0.16s; animation-delay:-0.16s; }
.board-list-loader:before, .board-list-loader:after{ position:absolute; top:0; content:''; }
.board-list-loader:before{ left:-1.5em; -webkit-animation-delay:-0.32s; animation-delay:-0.32s; }
.board-list-loader:after{ left:1.5em; }
@-webkit-keyframes load1{
	0%,
	80%,
	100%{
		box-shadow:0 0;
		height:4em;
	}
	40%{
		box-shadow:0 -2em;
		height:5em;
	}
}
@keyframes load1{
	0%,
	80%,
	100%{
		box-shadow:0 0;
		height:4em;
	}
	40%{
		box-shadow:0 -2em;
		height:5em;
	}
}

/* =====
========================================
   편의시설 게시판 전용 스타일
   ============================================= */

/* 지도 영역 */
.amenity-map-wrap {
    width: 100%;
    height: 400px;
    margin-bottom: 20px;
    border: 1px solid #ddd;
    background: #f5f5f5;
}
.amenity-map-wrap .map-error {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: #999;
    font-size: 14px;
}

/* 필터 영역 */
.amenity-filter-wrap {
    border: 1px solid #c8d0dc;
    padding: 15px 20px 10px;
    margin-bottom: 20px;
    background: #fff;
}
.amenity-filter-notice {
    color: #e00;
    font-size: 13px;
    margin-bottom: 10px;
}
.amenity-filter-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid #eee;
    gap: 6px 16px;
}
.amenity-filter-row:last-of-type {
    border-bottom: none;
}
.amenity-filter-row label {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 13px;
    font-weight: normal;
    cursor: pointer;
    white-space: nowrap;
    margin: 0;
}
.amenity-filter-row label input[type="checkbox"] {
    margin: 0;
    vertical-align: middle;
}
.amenity-filter-row .amenity-type-icon {
    width: 18px;
    height: 18px;
    vertical-align: middle;
}
.amenity-search-row {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 0 5px;
}
.amenity-search-row .search-label {
    font-size: 13px;
    font-weight: bold;
    white-space: nowrap;
    min-width: 60px;
}
.amenity-search-row input[type="text"] {
    flex: 1;
    height: 34px;
    border: 1px solid #ccc;
    padding: 0 10px;
    font-size: 13px;
}
.amenity-search-row .btn-search {
    height: 34px;
    padding: 0 20px;
    background: #1a2e4a;
    color: #fff;
    border: none;
    font-size: 13px;
    cursor: pointer;
    white-space: nowrap;
}
.amenity-search-row .btn-search:hover {
    background: #2a4070;
}

/* 카드 목록 */
.amenity-card-wrap {
    margin-bottom: 20px;
}
.amenity-card {
    border: 1px solid #e0e0e0;
    background: #fff;
    margin-bottom: 20px;
    cursor: pointer;
    transition: box-shadow 0.2s;
}
.amenity-card:hover {
    box-shadow: 0 2px 10px rgba(0,0,0,0.12);
}
.amenity-card .card-body {
    padding: 15px;
}
.amenity-card .card-title {
    font-size: 15px;
    font-weight: bold;
    margin-bottom: 8px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.amenity-card .card-badges {
    margin-bottom: 8px;
}
.amenity-card .badge-area {
    display: inline-block;
    font-size: 11px;
    padding: 2px 7px;
    background: #1a5276;
    color: #fff;
    margin-right: 4px;
    border-radius: 2px;
}
.amenity-card .badge-type {
    background: #555;
}
.amenity-card .card-addr {
    font-size: 12px;
    color: #666;
    margin-bottom: 8px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.amenity-card .card-icons {
    margin-bottom: 10px;
    min-height: 28px;
}
.amenity-card .card-icons img {
    width: 28px;
    height: 28px;
    margin-right: 3px;
}
.amenity-card .btn-detail {
    display: block;
    width: 100%;
    padding: 7px 0;
    background: #1a2e4a;
    color: #fff;
    text-align: center;
    font-size: 13px;
    border: none;
    text-decoration: none;
}
.amenity-card .btn-detail:hover {
    background: #2a4070;
    color: #fff;
    text-decoration: none;
}

/* 뷰 페이지 상세 테이블 */
.amenity-view-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
    font-size: 14px;
}
.amenity-view-table th,
.amenity-view-table td {
    border: 1px solid #d0d8e0;
    padding: 10px 15px;
    vertical-align: middle;
}
.amenity-view-table th {
    background: #eaf0f8;
    font-weight: bold;
    text-align: center;
    width: 12%;
    white-space: nowrap;
}
.amenity-view-table td {
    background: #fff;
}
.amenity-view-table .amenity-icons img {
    width: 36px;
    height: 36px;
    margin-right: 4px;
}

/* 이미지 슬라이드 */
.amenity-slide-wrap {
    margin-bottom: 10px;
}
.amenity-slide-wrap .carousel-inner img {
    max-width: 100%;
    height: auto;
    max-height: 400px;
    object-fit: contain;
    margin: 0 auto;
    display: block;
}
.amenity-slide-wrap .carousel-control-prev,
.amenity-slide-wrap .carousel-control-next {
    width: 40px;
    background: rgba(0,0,0,0.3);
}

/* 뷰 페이지 지도 */
.amenity-view-map {
    width: 100%;
    height: 350px;
    border: 1px solid #ddd;
    margin-bottom: 20px;
}

/* 작성 폼 */
.amenity-write-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
    font-size: 14px;
}
.amenity-write-table th,
.amenity-write-table td {
    border: 1px solid #d0d8e0;
    padding: 10px 15px;
    vertical-align: middle;
}
.amenity-write-table th {
    background: #eaf0f8;
    font-weight: bold;
    text-align: center;
    width: 15%;
    white-space: nowrap;
}
.amenity-write-table .required-mark {
    color: #e00;
}
.amenity-addr-wrap {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}
.amenity-addr-wrap input[type="text"] {
    flex: 1;
    min-width: 0;
}
.amenity-addr-wrap .btn-addr-search {
    white-space: nowrap;
}
.amenity-facility-checks {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 20px;
}
.amenity-facility-checks label {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-weight: normal;
    cursor: pointer;
    font-size: 13px;
    margin: 0;
}
.amenity-facility-checks img {
    width: 24px;
    height: 24px;
}

/* 반응형 */
@media (max-width: 991px) {
    .amenity-map-wrap { height: 300px; }
    .amenity-view-table th { width: 18%; }
    .amenity-write-table th { width: 20%; }
}

@media (max-width: 767px) {
    .amenity-map-wrap { height: 250px; }
    .amenity-view-map { height: 250px; }
    .amenity-filter-row { gap: 6px 12px; }
    .amenity-view-table,
    .amenity-view-table tbody,
    .amenity-view-table tr,
    .amenity-view-table th,
    .amenity-view-table td {
        display: block;
        width: 100%;
    }
    .amenity-view-table th {
        border-bottom: none;
        text-align: left;
        padding-bottom: 4px;
    }
    .amenity-write-table,
    .amenity-write-table tbody,
    .amenity-write-table tr,
    .amenity-write-table th,
    .amenity-write-table td {
        display: block;
        width: 100%;
    }
    .amenity-write-table th {
        border-bottom: none;
        text-align: left;
        padding-bottom: 4px;
    }
    .amenity-search-row input[type="text"] {
        min-width: 0;
    }
}

/* =====================================================
   편의시설 게시판 전용 스타일
   ===================================================== */

/* 4.1 지도 컨테이너 */
.amenity-map-container {
    width: 100%;
    height: 400px;
    margin-bottom: 16px;
    background: #eee;
}
.amenity-map-error {
    text-align: center;
    padding: 20px;
    color: #999;
}

/* 4.2 필터 영역 */
.amenity-filter {
    background: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    padding: 14px 16px;
    margin-bottom: 20px;
}
.amenity-filter-notice {
    font-size: 12px;
    color: #e74c3c;
    margin: 0 0 10px;
}
.amenity-filter-group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 10px;
    margin-bottom: 10px;
}
.amenity-filter-label {
    font-size: 13px;
    font-weight: 600;
    color: #333;
    min-width: 56px;
}
.amenity-chk-label {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 13px;
    cursor: pointer;
    white-space: nowrap;
}
.amenity-chk-label input[type="checkbox"] {
    margin: 0;
}
.amenity-filter-search {
    display: flex;
    gap: 6px;
    margin-top: 4px;
}
.amenity-search-input {
    flex: 1;
    max-width: 260px;
    padding: 5px 10px;
    border: 1px solid #ced4da;
    border-radius: 4px;
    font-size: 13px;
}
.amenity-search-btn {
    padding: 5px 14px;
    background: #343a40;
    color: #fff;
    border: none;
    border-radius: 4px;
    font-size: 13px;
    cursor: pointer;
}
.amenity-search-btn:hover { background: #23272b; }

/* 4.3 카드 목록 */
.amenity-card-list {
    margin: 0 -8px;
}
.amenity-card {
    padding: 8px;
    cursor: pointer;
    margin-bottom: 16px;
}
.amenity-card-body {
    border: 1px solid #dee2e6;
    border-radius: 8px;
    padding: 14px;
    height: 100%;
    background: #fff;
    transition: box-shadow 0.2s;
    position: relative;
}
.amenity-card:hover .amenity-card-body {
    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
}
.amenity-card-badges {
    margin-bottom: 8px;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}
.amenity-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 600;
}
.amenity-badge-area {
    background: #d1ecf1;
    color: #0c5460;
}
.amenity-badge-type {
    background: #d4edda;
    color: #155724;
}
.amenity-card-title {
    font-size: 15px;
    font-weight: 700;
    margin: 0 0 8px;
    line-height: 1.4;
}
.amenity-card-addr,
.amenity-card-tel {
    font-size: 12px;
    color: #666;
    margin: 0 0 4px;
}
.amenity-card-icons {
    margin: 8px 0;
}
.amenity-icon {
    width: 28px;
    height: 28px;
    margin-right: 4px;
}
.amenity-btn-detail {
    display: inline-block;
    margin-top: 10px;
    padding: 5px 14px;
    background: #343a40;
    color: #fff;
    border-radius: 4px;
    font-size: 12px;
    text-decoration: none;
}
.amenity-btn-detail:hover { background: #23272b; color: #fff; text-decoration: none; }

/* 4.3 빈 목록 */
.amenity-nodata {
    text-align: center;
    padding: 50px 0;
    color: #999;
    font-size: 14px;
}

/* 4.5 관리자 버튼 바 */
.amenity-admin-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 10px 0;
}
.amenity-admin-left,
.amenity-admin-right {
    display: flex;
    gap: 4px;
}

/* 인포윈도우 */
.amenity-infowindow {
    padding: 8px 10px;
    font-size: 12px;
    line-height: 1.6;
    min-width: 160px;
    max-width: 220px;
}
.amenity-infowindow strong { font-size: 13px; }
.iw-type  { color: #155724; }
.iw-addr  { color: #555; }
.iw-tel   { color: #0c5460; }

/* 반응형 */
@media (max-width: 991px) {
    .amenity-map-container { height: 300px; }
}
@media (max-width: 767px) {
    .amenity-map-container { height: 250px; }
    .amenity-filter-group  { gap: 6px 8px; }
    .amenity-search-input  { max-width: 100%; }
}

/* =====================================================
   뷰 페이지 전용 스타일
   ===================================================== */

.amenity-view-wrap {
    padding: 10px 0;
}
.amenity-view-title {
    font-size: 20px;
    font-weight: 700;
    padding: 10px 0 14px;
    margin: 0 0 16px;
    border-bottom: 2px solid #1a2e4a;
    line-height: 1.4;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

/* 상세 테이블 */
.amenity-view-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
    font-size: 14px;
}
.amenity-view-table th,
.amenity-view-table td {
    border: 1px solid #d0d8e0;
    padding: 10px 14px;
    vertical-align: middle;
}
.amenity-view-table th {
    background: #eaf0f8;
    font-weight: 700;
    text-align: center;
    width: 12%;
    white-space: nowrap;
    color: #1a2e4a;
}
.amenity-view-table td {
    background: #fff;
}
.amenity-view-content {
    line-height: 1.8;
}
.amenity-view-content .view-content {
    min-height: 60px;
}

/* 이미지 슬라이드 */
.amenity-single-img {
    max-height: 400px;
    object-fit: contain;
    display: block;
    margin: 0 auto;
}
.amenity-carousel-img {
    max-height: 400px;
    object-fit: contain;
    background: #f5f5f5;
}
#amenity-carousel {
    background: #f5f5f5;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    overflow: hidden;
}
#amenity-carousel .carousel-control-prev,
#amenity-carousel .carousel-control-next {
    width: 40px;
    background: rgba(0,0,0,0.25);
}

/* 뷰 지도 */
.amenity-view-map-container {
    height: 350px;
    margin-bottom: 20px;
}

/* 뷰 버튼 */
.view-btn {
    margin: 20px 0;
}

/* 반응형 */
@media (max-width: 991px) {
    .amenity-view-table th { width: 18%; }
    .amenity-view-map-container { height: 280px; }
}
@media (max-width: 767px) {
    .amenity-view-title { font-size: 16px; }
    .amenity-view-map-container { height: 220px; }
    .amenity-view-table th,
    .amenity-view-table td {
        display: block;
        width: 100%;
    }
    .amenity-view-table th {
        border-bottom: none;
        text-align: left;
        padding-bottom: 4px;
    }
    .amenity-view-table tr {
        display: block;
        margin-bottom: 4px;
    }
    .amenity-single-img,
    .amenity-carousel-img {
        max-height: 240px;
    }
}

/* =====================================================
   작성 페이지 전용 스타일 (write.skin.php)
   ===================================================== */
.amenity-write-wrap .form-group { margin-bottom: 14px; }
.amenity-required { color: #e00; font-weight: bold; }
.amenity-select { max-width: 300px; }
.amenity-coord-info { display: block; margin-top: 4px; color: #888; font-size: 12px; }

/* 편의시설 체크박스 그리드 */
.amenity-icon-checkboxes {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    padding: 8px 0;
}
.amenity-icon-chk-label {
    display: flex;
    align-items: center;
    gap: 5px;
    cursor: pointer;
    font-size: 13px;
    padding: 4px 8px;
    border: 1px solid #dde3ea;
    border-radius: 4px;
    background: #f8fafc;
    transition: background 0.15s, border-color 0.15s;
    user-select: none;
}
.amenity-icon-chk-label:hover { background: #eaf0f8; border-color: #aac; }
.amenity-icon-chk-label.checked,
.amenity-icon-chk-label:has(input[type="checkbox"]:checked) {
    background: #1a2e4a;
    border-color: #1a2e4a;
    color: #fff;
}
.amenity-icon-chk-label input[type="checkbox"] { margin: 0; cursor: pointer; }
.amenity-icon-chk-label img { vertical-align: middle; }

@media (max-width: 767px) {
    .amenity-icon-checkboxes { gap: 6px 10px; }
    .amenity-icon-chk-label { font-size: 12px; padding: 3px 6px; }
    .amenity-select { max-width: 100%; }
}

/* =====================================================
   리스트 페이지 고급 디자인 (ac-* 클래스)
   ===================================================== */

.ac-board-container {
    font-family: 'Noto Sans KR', 'Apple SD Gothic Neo', sans-serif;
}

/* 지도 */
.ac-map {
    height: 420px;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,0,0.10);
    margin-bottom: 20px;
}

/* 필터 패널 */
.ac-filter-panel {
    background: #fff;
    border: 1px solid #e8ecf0;
    border-radius: 10px;
    padding: 0;
    margin-bottom: 24px;
    box-shadow: 0 1px 6px rgba(0,0,0,0.06);
    overflow: hidden;
}
.ac-filter-inner {
    padding: 4px 0;
}
.ac-filter-row {
    display: flex;
    align-items: center;
    padding: 12px 20px;
    border-bottom: 1px solid #f0f2f5;
    gap: 0;
}
.ac-filter-row:last-child { border-bottom: none; }
.ac-filter-label {
    font-size: 13px;
    font-weight: 700;
    color: #1a2e4a;
    min-width: 64px;
    flex-shrink: 0;
    letter-spacing: -0.3px;
}
.ac-filter-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 8px;
}

/* 칩 스타일 체크박스 */
.ac-chip {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    margin: 0;
}
.ac-chip input[type="checkbox"] {
    display: none;
}
.ac-chip span {
    display: inline-block;
    padding: 4px 12px;
    border: 1px solid #d0d7e0;
    border-radius: 20px;
    font-size: 12.5px;
    color: #555;
    background: #f7f8fa;
    transition: all 0.15s ease;
    line-height: 1.5;
    white-space: nowrap;
}
.ac-chip input[type="checkbox"]:checked + span {
    background: #1a2e4a;
    border-color: #1a2e4a;
    color: #fff;
    font-weight: 600;
}
.ac-chip:hover span {
    border-color: #1a2e4a;
    color: #1a2e4a;
}

/* 검색 행 */
.ac-filter-search-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 20px 14px;
    gap: 12px;
    flex-wrap: wrap;
}
.ac-search-box {
    display: flex;
    align-items: center;
    border: 1.5px solid #c8d0dc;
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
    flex: 1;
    max-width: 380px;
    transition: border-color 0.15s;
}
.ac-search-box:focus-within {
    border-color: #1a2e4a;
}
.ac-search-icon {
    padding: 0 10px;
    color: #aaa;
    font-size: 14px;
    flex-shrink: 0;
}
.ac-search-input {
    flex: 1;
    border: none;
    outline: none;
    padding: 8px 4px;
    font-size: 13px;
    background: transparent;
    min-width: 0;
}
.ac-search-btn {
    padding: 8px 18px;
    background: #1a2e4a;
    color: #fff;
    border: none;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    flex-shrink: 0;
    transition: background 0.15s;
    letter-spacing: -0.3px;
}
.ac-search-btn:hover { background: #243d60; }
.ac-filter-notice {
    font-size: 11.5px;
    color: #e74c3c;
    margin: 0;
    white-space: nowrap;
}

/* 툴바 */
.ac-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 14px;
    gap: 6px;
}
.ac-toolbar-bottom { margin-top: 14px; margin-bottom: 0; }
.ac-toolbar-left, .ac-toolbar-right { display: flex; gap: 6px; align-items: center; }

/* 버튼 */
.ac-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 7px 14px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    border: none;
    text-decoration: none;
    transition: all 0.15s;
    letter-spacing: -0.3px;
    line-height: 1.4;
}
.ac-btn-primary {
    background: #1a2e4a;
    color: #fff;
}
.ac-btn-primary:hover { background: #243d60; color: #fff; text-decoration: none; }
.ac-btn-outline {
    background: #fff;
    color: #444;
    border: 1px solid #ccc;
}
.ac-btn-outline:hover { background: #f5f5f5; }
.ac-btn-danger {
    background: #fff;
    color: #c0392b;
    border: 1px solid #e0b0b0;
}
.ac-btn-danger:hover { background: #fdf0f0; }

/* 결과 수 */
.ac-result-count {
    font-size: 13px;
    color: #666;
    margin: 0 0 14px;
}
.ac-result-count strong { color: #1a2e4a; }

/* 카드 그리드 */
.ac-card-grid {
    margin: 0 -10px;
}
.ac-card {
    padding: 10px;
    margin-bottom: 0;
}
.ac-card-inner {
    border: 1px solid #e8ecf0;
    border-radius: 10px;
    padding: 18px 16px 14px;
    background: #fff;
    height: 100%;
    display: flex;
    flex-direction: column;
    transition: box-shadow 0.2s, transform 0.2s;
    position: relative;
    overflow: hidden;
}
.ac-card-inner::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, #1a2e4a, #3a6ea8);
    opacity: 0;
    transition: opacity 0.2s;
}
.ac-card:hover .ac-card-inner {
    box-shadow: 0 6px 20px rgba(0,0,0,0.10);
    transform: translateY(-2px);
}
.ac-card:hover .ac-card-inner::before {
    opacity: 1;
}

/* 배지 */
.ac-card-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-bottom: 10px;
}
.ac-badge {
    display: inline-block;
    padding: 3px 9px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: -0.2px;
}
.ac-badge-area {
    background: #e8f0fb;
    color: #1a4a8a;
}
.ac-badge-type {
    background: #eaf5ea;
    color: #1a6a2a;
}

/* 카드 제목 */
.ac-card-title {
    font-size: 15px;
    font-weight: 700;
    color: #1a1a2e;
    margin: 0 0 10px;
    line-height: 1.45;
    letter-spacing: -0.4px;
}

/* 카드 메타 */
.ac-card-meta {
    font-size: 12.5px;
    color: #777;
    margin: 0 0 5px;
    display: flex;
    align-items: flex-start;
    gap: 5px;
    line-height: 1.5;
}
.ac-card-meta i {
    margin-top: 2px;
    flex-shrink: 0;
    color: #aaa;
}

/* 아이콘 */
.ac-card-icons {
    margin: 8px 0 10px;
    flex: 1;
}
.ac-card-icons .amenity-icon {
    width: 26px;
    height: 26px;
    margin-right: 3px;
    opacity: 0.85;
}

/* 상세보기 링크 */
.ac-card-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-top: auto;
    padding: 9px 0;
    background: #f5f7fa;
    color: #1a2e4a;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    border: 1px solid #e0e6ef;
    transition: all 0.15s;
    letter-spacing: -0.3px;
}
.ac-card-link:hover {
    background: #1a2e4a;
    color: #fff;
    border-color: #1a2e4a;
    text-decoration: none;
}

/* 빈 목록 */
.ac-empty {
    text-align: center;
    padding: 70px 0;
    color: #bbb;
}
.ac-empty-icon {
    font-size: 48px;
    display: block;
    margin-bottom: 14px;
    color: #ddd;
}
.ac-empty p {
    font-size: 15px;
    margin: 0;
}

/* 페이지네이션 */
.ac-pagination {
    margin-top: 20px;
    text-align: center;
}

/* 반응형 */
@media (max-width: 991px) {
    .ac-map { height: 320px; }
}
@media (max-width: 767px) {
    .ac-map { height: 240px; border-radius: 6px; }
    .ac-filter-row { flex-direction: column; align-items: flex-start; gap: 8px; padding: 10px 14px; }
    .ac-filter-label { min-width: auto; }
    .ac-filter-search-row { flex-direction: column; align-items: stretch; padding: 10px 14px 12px; }
    .ac-search-box { max-width: 100%; }
    .ac-filter-notice { white-space: normal; }
    .ac-card-inner { padding: 14px 12px 12px; }
    .ac-toolbar { flex-wrap: wrap; }
}

/* 카드 썸네일 이미지 */
.ac-card-inner {
    padding: 0;
    overflow: hidden;
}
.ac-card-thumb-link {
    display: block;
    text-decoration: none;
}
.ac-card-thumb {
    width: 100%;
    padding-top: 56.25%; /* 16:9 비율 */
    position: relative;
    overflow: hidden;
    background: #f0f2f5;
}
.ac-card-thumb img {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}
.ac-card:hover .ac-card-thumb img {
    transform: scale(1.04);
}
.ac-card-content {
    padding: 14px 16px 14px;
    display: flex;
    flex-direction: column;
    flex: 1;
}
/* 썸네일 없을 때 상단 패딩 복원 */
.ac-card-inner:not(:has(.ac-card-thumb)) .ac-card-content,
.ac-card-no-thumb .ac-card-content {
    padding-top: 18px;
}

/* =====================================================
   카드 레이아웃 재정의 — 이중 박스 제거 + 이미지 통합
   ===================================================== */

/* 그리드 여백 초기화 */
.ac-card-grid.row { margin: 0 -8px; }
.ac-card { padding: 8px; margin-bottom: 0; }

/* 카드 본체: border + 그림자는 여기 하나만 */
.ac-card-inner {
    border: 1px solid #e4e8ee;
    border-radius: 10px;
    background: #fff;
    overflow: hidden;           /* 이미지가 border-radius 안으로 */
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 0;                 /* 내부 패딩 제거 — content 영역에서 처리 */
    transition: box-shadow 0.2s, transform 0.2s;
    position: relative;
}
.ac-card-inner::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, #1a2e4a, #3a6ea8);
    opacity: 0;
    transition: opacity 0.2s;
    z-index: 1;
}
.ac-card:hover .ac-card-inner {
    box-shadow: 0 6px 20px rgba(0,0,0,0.11);
    transform: translateY(-2px);
}
.ac-card:hover .ac-card-inner::before { opacity: 1; }

/* 썸네일: 카드 상단에 꽉 차게 */
.ac-card-thumb-link { display: block; text-decoration: none; flex-shrink: 0; }
.ac-card-thumb {
    width: 100%;
    padding-top: 58%;           /* 약 16:9 */
    position: relative;
    overflow: hidden;
    background: #edf0f4;
}
.ac-card-thumb img {
    position: absolute;
    inset: 0;
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease;
    display: block;
}
.ac-card:hover .ac-card-thumb img { transform: scale(1.05); }

/* 텍스트 콘텐츠 영역 */
.ac-card-content {
    padding: 14px 16px 12px;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.ac-card-no-thumb .ac-card-content { padding-top: 18px; }

/* 배지 */
.ac-card-badges { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 9px; }
.ac-badge {
    display: inline-block;
    padding: 3px 9px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: -0.2px;
}
.ac-badge-area { background: #e8f0fb; color: #1a4a8a; }
.ac-badge-type { background: #eaf5ea; color: #1a6a2a; }

/* 제목 */
.ac-card-title {
    font-size: 15px;
    font-weight: 700;
    color: #1a1a2e;
    margin: 0 0 9px;
    line-height: 1.45;
    letter-spacing: -0.4px;
}

/* 메타 (주소, 전화) */
.ac-card-meta {
    font-size: 12.5px;
    color: #777;
    margin: 0 0 4px;
    display: flex;
    align-items: flex-start;
    gap: 5px;
    line-height: 1.5;
}
.ac-card-meta i { margin-top: 2px; flex-shrink: 0; color: #bbb; }

/* 편의시설 아이콘 */
.ac-card-icons { margin: 8px 0 10px; flex: 1; }
.ac-card-icons .amenity-icon { width: 26px; height: 26px; margin-right: 3px; opacity: 0.8; }

/* 상세보기 버튼 */
.ac-card-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-top: auto;
    padding: 9px 0;
    background: #f4f6fa;
    color: #1a2e4a;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    border: 1px solid #dde3ee;
    transition: all 0.15s;
    letter-spacing: -0.3px;
}
.ac-card-link:hover {
    background: #1a2e4a;
    color: #fff;
    border-color: #1a2e4a;
    text-decoration: none;
}

/* 체크박스 (관리자) */
.ac-card-chk {
    position: absolute;
    top: 10px; left: 10px;
    z-index: 10;
}
.ac-card-chk input[type="checkbox"] {
    width: 16px; height: 16px;
    cursor: pointer;
}

@media (max-width: 767px) {
    .ac-card-grid.row { margin: 0 -6px; }
    .ac-card { padding: 6px; }
    .ac-card-thumb { padding-top: 55%; }
    .ac-card-content { padding: 12px 12px 10px; }
}

/* Bootstrap col 기본 패딩 무력화 — ac-card가 자체 패딩 관리 */
.ac-card-grid .ac-card.col-lg-4,
.ac-card-grid .ac-card.col-md-6,
.ac-card-grid .ac-card.col-12 {
    padding-left: 8px;
    padding-right: 8px;
    margin-bottom: 16px;
}

/* =====================================================
   승인 워크플로우 스타일
   ===================================================== */

/* 상태 배지 공통 */
.approval-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px 12px;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: -0.2px;
    line-height: 1;
    vertical-align: middle;
    white-space: nowrap;
    height: 24px;
    box-sizing: border-box;
}
.approval-badge-waiting  { background: #fef5e7; color: #e67e22; border: 1px solid #f5d6a0; }
.approval-badge-rejected { background: #fdedec; color: #e74c3c; border: 1px solid #f5b7b1; }
.approval-badge-approved { background: #eafaf1; color: #27ae60; border: 1px solid #a9dfbf; }
.approval-badge-hidden   { background: #f2f3f4; color: #7f8c8d; border: 1px solid #d5d8dc; }

/* 관리자 상태 변경 패널 */
.approval-admin-panel {
    background: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    padding: 14px 18px;
    margin: 14px 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}
.approval-admin-panel label {
    font-size: 13px;
    font-weight: 600;
    color: #333;
    margin: 0;
}
.approval-status-select {
    padding: 5px 10px;
    border: 1px solid #ced4da;
    border-radius: 4px;
    font-size: 13px;
    min-width: 120px;
    background: #fff;
}
.approval-reason-wrap {
    width: 100%;
    margin-top: 4px;
}
.approval-reason-wrap label {
    display: block;
    margin-bottom: 4px;
}
.approval-reason-input {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid #ced4da;
    border-radius: 4px;
    font-size: 13px;
    resize: vertical;
}
.approval-submit-btn {
    white-space: nowrap;
}

/* 반려 사유 알림 영역 */
.approval-rejection-alert {
    background: #fdedec;
    border: 1px solid #f5b7b1;
    border-left: 4px solid #e74c3c;
    border-radius: 4px;
    padding: 12px 16px;
    margin: 12px 0;
    font-size: 13px;
    color: #922b21;
    line-height: 1.6;
}
.approval-rejection-alert strong {
    color: #c0392b;
}

/* 관리자 승인 상태 필터 탭 */
.ac-approval-filter-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 16px;
}
.ac-approval-tab {
    display: inline-block;
    padding: 6px 16px;
    border: 1px solid #d0d7e0;
    border-radius: 20px;
    font-size: 12.5px;
    font-weight: 600;
    color: #555;
    background: #f7f8fa;
    text-decoration: none;
    transition: all 0.15s ease;
    white-space: nowrap;
}
.ac-approval-tab:hover {
    border-color: #1a2e4a;
    color: #1a2e4a;
    text-decoration: none;
}
.ac-approval-tab.active {
    background: #1a2e4a;
    border-color: #1a2e4a;
    color: #fff;
}

/* 반응형 */
@media (max-width: 767px) {
    .approval-admin-panel {
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
        padding: 12px 14px;
    }
    .approval-status-select {
        width: 100%;
    }
    .ac-approval-filter-tabs {
        gap: 4px;
    }
    .ac-approval-tab {
        padding: 5px 12px;
        font-size: 12px;
    }
}

/* =====================================================
   뷰 페이지 리디자인 — 사진(좌) + 정보(우) 2컬럼
   ===================================================== */

/* 상단 히어로: 사진 + 정보 나란히 */
.av-hero {
    display: flex;
    gap: 24px;
    margin-bottom: 24px;
    align-items: stretch;
}

/* 왼쪽 사진 영역 */
.av-hero-photo {
    flex: 0 0 50%;
    max-width: 50%;
    border-radius: 10px;
    overflow: hidden;
    background: #f0f2f5;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 300px;
}
.av-hero-photo #amenity-carousel {
    width: 100%;
    border-radius: 0;
    border: none;
}
.av-hero-photo .amenity-carousel-img {
    max-height: 380px;
    object-fit: contain;
    background: #f0f2f5;
}
.av-hero-single-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    max-height: 380px;
    display: block;
}
.av-hero-no-photo {
    text-align: center;
    color: #bbb;
    padding: 40px 20px;
}
.av-hero-no-photo i {
    font-size: 48px;
    display: block;
    margin-bottom: 10px;
}
.av-hero-no-photo p {
    font-size: 14px;
    margin: 0;
}

/* 오른쪽 정보 테이블 */
.av-hero-info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}
.av-info-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    flex: 1;
}
.av-info-table th,
.av-info-table td {
    border: 1px solid #d0d8e0;
    padding: 12px 16px;
    vertical-align: middle;
}
.av-info-table th {
    background: #eaf0f8;
    font-weight: 700;
    text-align: center;
    width: 90px;
    white-space: nowrap;
    color: #1a2e4a;
}
.av-info-table td {
    background: #fff;
}
.av-info-table .amenity-icons img {
    width: 32px;
    height: 32px;
    margin-right: 3px;
}

/* 내용 섹션 */
.av-content-section {
    margin-bottom: 24px;
}
.av-section-title {
    font-size: 16px;
    font-weight: 700;
    color: #1a2e4a;
    padding-bottom: 10px;
    margin: 0 0 14px;
    border-bottom: 2px solid #1a2e4a;
}
.av-content-section .view-content {
    min-height: 60px;
    line-height: 1.8;
    font-size: 14px;
}

/* 반응형: 태블릿 이하에서 1컬럼 */
@media (max-width: 991px) {
    .av-hero {
        flex-direction: column;
        gap: 16px;
    }
    .av-hero-photo {
        flex: none;
        max-width: 100%;
        min-height: 240px;
    }
    .av-hero-photo .amenity-carousel-img,
    .av-hero-single-img {
        max-height: 320px;
    }
}
@media (max-width: 767px) {
    .av-hero-photo {
        min-height: 200px;
        border-radius: 6px;
    }
    .av-hero-photo .amenity-carousel-img,
    .av-hero-single-img {
        max-height: 240px;
    }
    .av-info-table th {
        width: 80px;
        padding: 10px 12px;
        font-size: 13px;
    }
    .av-info-table td {
        padding: 10px 12px;
        font-size: 13px;
    }
    .av-section-title {
        font-size: 15px;
    }
}

/* =====================================================
   웹진형 리스트 스타일
   ===================================================== */

.ac-webzine-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* 웹진 아이템: 이미지 왼쪽 + 내용 오른쪽 */
.ac-wz-item {
    display: flex;
    border: 1px solid #e4e8ee;
    border-radius: 10px;
    background: #fff;
    overflow: hidden;
    transition: box-shadow 0.2s, transform 0.2s;
    position: relative;
    cursor: pointer;
}
.ac-wz-item:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,0.10);
    transform: translateY(-1px);
}

/* 체크박스 */
.ac-wz-chk {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 10;
}
.ac-wz-chk input[type="checkbox"] {
    width: 16px;
    height: 16px;
    cursor: pointer;
}

/* 썸네일 영역 */
.ac-wz-thumb {
    flex: 0 0 260px;
    max-width: 260px;
    overflow: hidden;
    background: #f0f2f5;
}
.ac-wz-thumb a {
    display: block;
    width: 100%;
    height: 100%;
}
.ac-wz-thumb img {
    width: 100%;
    height: 100%;
    min-height: 180px;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}
.ac-wz-item:hover .ac-wz-thumb img {
    transform: scale(1.04);
}
.ac-wz-no-img {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    min-height: 180px;
    color: #ccc;
    font-size: 36px;
    background: #f5f7fa;
}

/* 콘텐츠 영역 */
.ac-wz-content {
    flex: 1;
    padding: 18px 20px;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

/* 배지 */
.ac-wz-badges {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
    margin-bottom: 10px;
}

/* 제목 */
.ac-wz-title {
    font-size: 22px;
    font-weight: 700;
    color: #1a1a2e;
    margin: 0 0 12px;
    line-height: 1.45;
    letter-spacing: -0.4px;
}
.ac-wz-title a,
.ac-wz-title a:link,
.ac-wz-title a:visited {
    color: inherit;
    text-decoration: none;
    font-size: inherit;
}
.ac-wz-title a:hover {
    color: #1a2e4a;
}

/* 메타 정보 */
.ac-wz-meta {
    font-size: 15px;
    color: #777;
    margin: 0 0 6px;
    display: flex;
    align-items: flex-start;
    gap: 6px;
    line-height: 1.5;
}
.ac-wz-meta i {
    margin-top: 3px;
    flex-shrink: 0;
    color: #aaa;
    width: 14px;
    text-align: center;
}

/* 편의시설 아이콘 */
.ac-wz-icons {
    margin: 10px 0;
    flex: 1;
}
.ac-wz-icons .amenity-icon {
    width: 32px;
    height: 32px;
    margin-right: 4px;
    opacity: 0.8;
}

/* 상세보기 링크 */
.ac-wz-item .ac-wz-link,
.ac-wz-item .ac-wz-link.btn-detail,
.amenity-card .ac-wz-link.btn-detail {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-top: auto;
    padding: 10px 20px;
    background: #1a2e4a !important;
    color: #fff !important;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    border: none !important;
    width: 100%;
    text-align: center;
}
.ac-wz-item .ac-wz-link:link,
.ac-wz-item .ac-wz-link:visited,
.amenity-card .ac-wz-link.btn-detail:link,
.amenity-card .ac-wz-link.btn-detail:visited {
    font-size: 14px;
    color: #fff !important;
    background: #1a2e4a !important;
    text-decoration: none;
}
.ac-wz-item .ac-wz-link:hover,
.amenity-card .ac-wz-link.btn-detail:hover {
    background: #243d60 !important;
    color: #fff !important;
    text-decoration: none;
}

/* 반응형 */
@media (max-width: 767px) {
    .ac-wz-item {
        flex-direction: column;
    }
    .ac-wz-thumb {
        flex: none;
        max-width: 100%;
        height: 200px;
    }
    .ac-wz-thumb img {
        min-height: 200px;
    }
    .ac-wz-no-img {
        min-height: 160px;
    }
    .ac-wz-content {
        padding: 14px;
    }
    .ac-wz-title {
        font-size: 18px;
    }
    .ac-wz-meta {
        font-size: 14px;
    }
}

/* =====================================================
   멀티 이미지 업로드 스타일
   ===================================================== */

.amenity-multi-upload {
    margin-top: 10px;
}
.amenity-upload-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 20px;
    background: #f5f7fa;
    color: #1a2e4a;
    border: 2px dashed #c8d0dc;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s;
}
.amenity-upload-btn:hover {
    background: #eaf0f8;
    border-color: #1a2e4a;
}
.amenity-upload-btn i {
    font-size: 18px;
}

/* 미리보기 영역 */
.amenity-file-preview {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 12px;
}
.amenity-preview-item {
    position: relative;
    width: 100px;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    overflow: hidden;
    background: #f8f9fa;
}
.amenity-preview-item img {
    width: 100px;
    height: 80px;
    object-fit: cover;
    display: block;
}
.amenity-preview-name {
    display: block;
    font-size: 11px;
    color: #666;
    padding: 4px 6px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.amenity-preview-remove {
    position: absolute;
    top: 2px;
    right: 2px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: rgba(0,0,0,0.5);
    color: #fff;
    border: none;
    font-size: 11px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    line-height: 1;
}
.amenity-preview-remove:hover {
    background: #e74c3c;
}

@media (max-width: 767px) {
    .amenity-upload-btn {
        font-size: 13px;
        padding: 8px 16px;
    }
    .amenity-preview-item {
        width: 80px;
    }
    .amenity-preview-item img {
        width: 80px;
        height: 64px;
    }
}
