@charset "UTF-8";
/* ============================================================================
   광고 영역 공통 스타일 (page-config JSON 기반 렌더)
   - 대상 : components/contentArea.jsp · common/floating_bottom.jsp · 본문 중간 광고(aside.lt-ad)
   - 설계 : docs/ad-pageconfig.md
   ※ 전 페이지 공통 로드 (resource_view.jsp). view 번들에는 넣지 않는다 — 상세 외 페이지도 광고를 쓴다.
   ========================================================================== */

/* 영역 래퍼 : contentArea.jsp 가 감싸는 바깥 상자 */
.content-area-wrap {
    width: 100%;
}

/* 광고 한 덩어리 공통 */
.lt-ad {
    display: block;
    margin: 24px auto;
    text-align: center;
}
.lt-ad img {
    max-width: 100%;
    height: auto;
}

/* 본문 문단 사이 광고
   [CLS] 광고가 늦게 도착해도 화면이 밀리지 않도록 높이를 미리 잡아둔다.
         no-fill 이면 .ad-empty 가 붙어 통째로 접힌다. */
.ad-slot-paragraph {
    min-height: 250px;
}

/* 광고 미수신(no-fill) — GPT slotRenderEnded / HTML 광고망 5초 폴백에서 부착 */
.ad-empty {
    display: none !important;
    min-height: 0 !important;
    margin: 0 !important;
}

/* 하단 고정(플로팅) 광고 */
.lt-float-ad {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    height: auto;
    text-align: center;
    background: rgba(0, 0, 0, .6);
    z-index: 9998;
}
.lt-float-ad img {
    max-width: 100%;
    height: auto;
}

/* 하단 고정 광고의 '광고삭제' 버튼 — 위치(bottom)는 JS 가 광고 높이에 맞춰 계산한다 */
.lt-float-ad-close {
    position: fixed;
    right: 0;
    bottom: 0;
    display: none;
    align-items: center;
    justify-content: center;
    width: 97px;
    padding: 11px 0;
    border: 0;
    border-radius: 8px 8px 0 0;
    background: #e70e0e;
    color: #fff;
    font-size: 13px;
    line-height: 18px;
    text-align: center;
    cursor: pointer;
    z-index: 9999;
}

/* 화면에는 안 보이고 스크린리더에만 읽히는 '광고' 라벨
   (base.css 에 .blind 가 이미 있으면 그 정의가 그대로 쓰인다 — 여기서는 재정의하지 않는다) */

@media (max-width: 767px) {
    .lt-ad {
        margin: 16px auto;
    }
    /* 모바일은 300x250 기준 — 데스크톱보다 여백을 줄인다 */
    .ad-slot-paragraph {
        min-height: 250px;
    }
}