/* 다모앙 애드센스 위젯 스타일 */

.da-adsense-container {
    width: 100%;
    max-width: 100%;
    margin: 0 0 1rem 0;
    padding: 0;
    box-sizing: border-box;
    position: relative;
}

/* CLS (Cumulative Layout Shift) 예방 - 광고 로딩 전 영역 확보 */
.da-adsense-container[data-position="banner-responsive"] {
    min-height: 88px;
}

.da-adsense-container[data-position="banner-horizontal"] {
    min-height: 88px;
}

.da-adsense-container[data-position="banner-large"] {
    min-height: 144px;
}

.da-adsense-container[data-position="banner-large-728"] {
    min-height: 110px;
}

.da-adsense-container[data-position="banner-view-content"] {
    min-height: 100px;
}

.da-adsense-container[data-position="banner-compact"] {
    min-height: 72px;
}

.da-adsense-container[data-position="banner-small"] {
    min-height: 60px;
}

.da-adsense-container[data-position="banner-medium"] {
    min-height: 75px;
}

.da-adsense-container[data-position="banner-square"] {
    min-height: 280px;
}

.da-adsense-container[data-position="banner-vertical"],
.da-adsense-container[data-position="banner-halfpage"] {
    min-height: 600px;
}

.da-adsense-container[data-position="wing"] {
    min-height: 600px;
}

/* 테두리 + 라벨 스타일 */
.da-adsense-container--border {
    border: var(--bs-border-width) solid var(--bs-border-color);
    border-radius: var(--bs-border-radius-sm);
    padding: 6px;
    background-color: var(--bs-tertiary-bg);
    box-shadow: var(--bs-box-shadow-sm);
}

.da-adsense-container--border .da-adsense-label {
    position: absolute;
    top: 4px;
    left: 8px;
    background-color: rgba(255,255,255,0.95);
    padding: 2px 6px;
    border-radius: 3px;
    font-size: 10px;
    color: #666;
    font-weight: 500;
    z-index: 10;
    line-height: 1.2;
    border: 1px solid rgba(0,0,0,0.1);
}

/* 깔끔한 스타일 - 테두리/배경 없음 */
.da-adsense-container--clean {
    border: none;
    padding: 0;
    background-color: transparent;
    box-shadow: none;
}

.da-adsense-container--clean .da-adsense-label {
    display: none;
}

/* 기본 스타일도 윙과 동일 */
.da-adsense-container--default {
    border: var(--bs-border-width) solid var(--bs-border-color);
    border-radius: var(--bs-border-radius-sm);
    padding: 6px;
    background-color: var(--bs-tertiary-bg);
    box-shadow: var(--bs-box-shadow-sm);
}

/* 스타일 없음 */
.da-adsense-container--none {
    border: none;
    padding: 0;
    background-color: transparent;
    box-shadow: none;
}

.da-adsense-container--none .da-adsense-label {
    display: none;
}

/* 위치별 특별 스타일 */
.da-adsense-container[data-position="wing"] {
    margin: 0;
    position: sticky;
    top: 0;
}

/* Sidebar sticky ad - 280×600 */
.sidebar-sticky-ad {
    position: sticky;
    top: 0;
    z-index: 100;
}

.sidebar-sticky-ad .da-adsense-container {
    position: sticky;
    top: 0;
}

.da-adsense-container[data-position="sidebar"] {
    margin: 0 0 2rem 0;
    text-align: center;
}

.da-adsense-container[data-position="board-head"] {
    margin: 0 0 1rem 0;
}

/* 인피드 광고 스타일 - 댓글과 자연스럽게 섞이도록 */
.da-adsense-container[data-position="infeed"] {
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
}

.da-adsense-container[data-position="infeed"] .adsbygoogle {
    text-align: left;
    min-height: auto;
}

/* 인피드 광고 레이블 숨김 (댓글처럼 보이게) */
.da-adsense-container[data-position="infeed"].da-adsense-container--clean .da-adsense-label {
    display: none;
}

/* Wing 배너 전용 라벨 스타일 */
.da-adsense-container[data-position="wing"] .da-adsense-label {
    position: absolute;
    top: 4px;
    left: 8px;
    background-color: rgba(255,255,255,0.95);
    padding: 2px 6px;
    border-radius: 3px;
    font-size: 10px;
    color: #666;
    font-weight: 500;
    z-index: 10;
    line-height: 1.2;
    border: 1px solid rgba(0,0,0,0.1);
}

.da-adsense-container[data-position="wing"].da-adsense-container--border {
    border: var(--bs-border-width) solid var(--bs-border-color);
    border-radius: var(--bs-border-radius-sm);
    padding: 6px;
    background-color: var(--bs-tertiary-bg);
    box-shadow: var(--bs-box-shadow-sm);
}

.da-adsense-container[data-position="mobile-banner"] {
    margin: 0 0 1rem 0;
}

/* 애드센스 광고 기본 스타일 */
.da-adsense-container .adsbygoogle {
    display: block !important;
    width: 100%;
    text-align: center;
}

/* 반응형 스타일 */
@media (max-width: 768px) {
    /* 모바일에서 박스 제거 */
    .da-adsense-container--border {
        border: none;
        padding: 0;
        background-color: transparent;
        box-shadow: none;
        margin: 0 0 1rem 0;
    }

    .da-adsense-container--default {
        border: none;
        padding: 0;
        background-color: transparent;
        box-shadow: none;
    }

    /* 모바일에서 "구글 광고" 레이블만 남기기 */
    .da-adsense-container--border .da-adsense-label,
    .da-adsense-container--default .da-adsense-label {
        position: static;
        display: inline-block;
        background-color: rgba(255, 255, 255, 0.8);
        border: 1px solid rgba(0, 0, 0, 0.15);
        font-size: 11px;
        padding: 2px 6px;
        margin: 0 0 4px 0;
        text-align: left;
        color: #666;
        border-radius: 3px;
    }

    /* 다크모드에서 레이블 스타일 */
    [data-bs-theme="dark"] .da-adsense-container--border .da-adsense-label,
    [data-bs-theme="dark"] .da-adsense-container--default .da-adsense-label {
        background-color: rgba(0, 0, 0, 0.6);
        border: 1px solid rgba(255, 255, 255, 0.2);
        color: #aaa;
    }

    .da-adsense-container[data-position="wing"] {
        position: static;
        width: 100%;
    }

    .da-adsense-container[data-position="sidebar"] {
        margin: 0 0 1rem 0;
    }
}

/* 다크모드 지원 */
[data-bs-theme="dark"] .da-adsense-container--border,
[data-bs-theme="dark"] .da-adsense-container--default {
    background-color: transparent;
    border-color: var(--bs-border-color);
}

[data-bs-theme="dark"] .da-adsense-container--border .da-adsense-label,
[data-bs-theme="dark"] .da-adsense-container--default .da-adsense-label {
    background-color: rgba(var(--bs-body-bg-rgb), 0.95);
    color: var(--bs-body-color);
    border-color: var(--bs-border-color);
}

/* 미디어 쿼리 다크모드 폴백 */
@media (prefers-color-scheme: dark) {
    body:not([data-bs-theme]) .da-adsense-container--border,
    body:not([data-bs-theme]) .da-adsense-container--default {
        background-color: transparent;
        border-color: #404040;
    }

    body:not([data-bs-theme]) .da-adsense-container--border .da-adsense-label,
    body:not([data-bs-theme]) .da-adsense-container--default .da-adsense-label {
        background-color: rgba(26, 26, 26, 0.95);
        color: #e0e0e0;
        border-color: #404040;
    }
}

/* 광고가 없을 때 배경만 투명하게 처리 */
.da-adsense-container .adsbygoogle {
    background: transparent !important;
}

/* 빈 광고 숨김 (sidebar/square 제외) */
.da-adsense-container:not([data-position="sidebar"]):not([data-position="banner-square"]) .adsbygoogle:empty {
    background: transparent !important;
    min-height: 0;
    display: none;
}

/* sidebar와 square는 빈 광고라도 공간 유지 */
.da-adsense-container[data-position="sidebar"] .adsbygoogle:empty,
.da-adsense-container[data-position="banner-square"] .adsbygoogle:empty {
    background: transparent !important;
    min-height: 280px;
    display: block;
}

/* 애드센스 iframe도 투명 배경 */
.da-adsense-container .adsbygoogle iframe {
    background: transparent !important;
}

/* 다크모드에서 광고 컨테이너 배경색 조정 */
[data-bs-theme="dark"] .da-adsense-container--clean {
    background-color: transparent !important;
}

/* 다크모드에서 빈 광고 숨김 (sidebar/square 제외) */
[data-bs-theme="dark"] .da-adsense-container:not([data-position="sidebar"]):not([data-position="banner-square"]) .adsbygoogle:empty {
    background: transparent !important;
    display: none;
    min-height: 0;
}

/* 다크모드에서도 sidebar와 square는 빈 광고라도 공간 유지 */
[data-bs-theme="dark"] .da-adsense-container[data-position="sidebar"] .adsbygoogle:empty,
[data-bs-theme="dark"] .da-adsense-container[data-position="banner-square"] .adsbygoogle:empty {
    background: transparent !important;
    min-height: 280px;
    display: block;
}

/* 다크모드에서 iframe 배경 */
[data-bs-theme="dark"] .da-adsense-container .adsbygoogle iframe {
    background: var(--bs-body-bg) !important;
    mix-blend-mode: screen; /* 광고가 너무 밝으면 blend 모드로 조정 */
}

/* 접근성 향상 */
.da-adsense-container .adsbygoogle {
    outline: none;
}

.da-adsense-container:focus-within {
    outline: 2px solid #0066cc;
    outline-offset: 2px;
}