/* 아임웹 프로그램을 뺀 자리에 필요한 보조 스타일 */

/* 원본에서는 아임웹 프로그램이 불러온 뒤 보이게 해 주던 것들 */
._inline_menu_container { visibility: visible !important; }
img.org_image { visibility: visible !important; max-width: 100%; height: auto; }
._widget_data.wg_animated img.org_image { visibility: inherit !important; }
/* 배경 영상은 실제 재생이 시작된 뒤에만 서서히 보이게(그 전엔 유튜브 재생 버튼이 보이므로) */
._section_vg { opacity: 0 !important; transition: opacity .8s ease; }
._section_vg.ap-playing { opacity: 1 !important; }

/* 배경 영상 */
._section_vg_wrap { position: absolute; inset: 0; overflow: hidden; z-index: 0; }
._section_vg { position: absolute; inset: 0; overflow: hidden; }

/* 갤러리 줄 */
.type_grid ._gallery_row.tabled { display: table; width: 100%; table-layout: fixed; }
.type_grid ._gallery_row.tabled > ._item { display: table-cell; vertical-align: top; }
.type_grid ._img_wrap { background-size: cover; background-position: 50% 50%; }
.type_grid.hover_show_overlay ._item_container:hover .slide_overlay { opacity: 1; }
.gallery2 ._item_container.cursor_pointer { cursor: pointer; }
/* 슬라이드 점: 원본(아임웹)은 div 라서 버튼 기본 여백이 없음 */
.owl-carousel button.owl-dot { padding: 0; border: 0; background: none; font: inherit; }

/* 크게 보기 */
html.ap-lb-open { overflow: hidden; }
.ap-lb { position: fixed; inset: 0; z-index: 2000; background: rgba(0,0,0,.92); display: none; }
.ap-lb.show { display: block; }
.ap-lb-top { position: absolute; top: 0; left: 0; right: 0; height: 47px; display: flex; align-items: center; padding: 0 10px; z-index: 3; background: rgba(0,0,0,.45); color: #999; font-size: 16px; }
.ap-lb-count { flex: 1; padding-left: 10px; }
.ap-lb button { background: none; border: 0; color: #999; cursor: pointer; }
.ap-lb button:hover { color: #fff; }
.ap-lb-zoom, .ap-lb-close { font-size: 26px; width: 44px; height: 47px; line-height: 47px; }
.ap-lb-stage { position: absolute; inset: 47px 60px 20px; display: flex; align-items: center; justify-content: center; overflow: auto; }
.ap-lb-stage img { max-width: 100%; max-height: 100%; object-fit: contain; transition: transform .25s; }
.ap-lb.zoomed .ap-lb-stage img { transform: scale(1.8); cursor: zoom-out; }
.ap-lb-prev, .ap-lb-next { position: absolute; top: 50%; margin-top: -30px; z-index: 3; font-size: 48px; width: 50px; height: 60px; background: rgba(0,0,0,.45) !important; border-radius: 2px; }
.ap-lb-prev { left: 10px; } .ap-lb-next { right: 10px; }
@media (max-width: 767px) {
  .ap-lb-stage { inset: 47px 0 10px; }
  .ap-lb-prev, .ap-lb-next { display: none !important; }
}

/* 검색 */
.ap-search { position: fixed; inset: 0; z-index: 1900; background: rgba(0,0,0,.6); display: none; }
.ap-search.show { display: block; }
.ap-search-box { position: relative; max-width: 640px; margin: 80px auto 0; background: #fff; padding: 28px 24px 20px; border-radius: 4px; }
.ap-search-box form { display: flex; gap: 8px; }
.ap-search-box input { flex: 1; height: 44px; border: 1px solid #ccc; padding: 0 12px; font-size: 16px; }
.ap-search-box form button { height: 44px; padding: 0 18px; border: 0; background: #212121; color: #fff; }
.ap-search-close { position: absolute; top: 2px; right: 6px; border: 0; background: none; font-size: 26px; color: #666; }
.ap-search-result { list-style: none; margin: 16px 0 0; padding: 0; max-height: 60vh; overflow: auto; }
.ap-search-result li { border-top: 1px solid #eee; }
.ap-search-result a { display: block; padding: 12px 4px; color: #212121; text-decoration: none; }
.ap-search-result strong { display: block; margin-bottom: 4px; }
.ap-search-result span { color: #777; font-size: 13px; }
.ap-search-result .none { padding: 16px 4px; color: #777; }
@media (max-width: 767px) { .ap-search-box { margin: 0; border-radius: 0; } }

/* 접수 알림창 (원본과 같은 모양: 흰 상자 + 확인) */
.ap-alert { position: fixed; inset: 0; z-index: 2100; background: rgba(0,0,0,.5); display: flex; align-items: center; justify-content: center; }
.ap-alert-box { background: #fff; width: 290px; text-align: center; border-radius: 2px; overflow: hidden; }
.ap-alert-box p { margin: 0; padding: 36px 20px; font-size: 14px; color: #212121; }
.ap-alert-box button { width: 100%; height: 48px; border: 0; border-top: 1px solid #eee; background: #fff; font-size: 14px; color: #212121; cursor: pointer; }
