/* 보드 개편: 소재는 판 위에 앉으므로 액자 테두리를 두르지 않는다. */
.st-ad-visual{display:block;border:0;border-radius:var(--r-s,6px);overflow:hidden;background:var(--card,#fff)}
.st-ad-controls{display:flex;align-items:center;justify-content:flex-end;gap:5px;margin-top:4px;font-size:11px;color:var(--ink-3,#66727b)}
.st-ad-controls button{font:inherit;min-width:28px;min-height:28px;padding:2px 7px;border:1px solid var(--line,#dce2e6);border-radius:var(--r-s,6px);color:inherit;background:var(--card,#fff);cursor:pointer}
.st-ad-controls button:focus-visible{outline:2px solid var(--brand,#2f54eb);outline-offset:2px}
.st-ad-controls button:hover{color:var(--brand,#2f54eb);background:var(--brand-tint,#2f54eb12)}
.st-ad-count{min-width:33px;text-align:center;font-variant-numeric:tabular-nums}
.st-ad-controls[hidden]{display:none!important}
.st-ad-board_bottom,.st-ad-magazine_bottom{max-width:780px;margin-inline:auto}
.st-ad-slot .st-ad-frame[hidden]{display:none!important}
.st-ad-home_left .st-ad-controls,.st-ad-home_right .st-ad-controls{gap:2px;justify-content:center;flex-wrap:wrap}

/* Keep horizontal banners compact without hiding the ad label or covering artwork. */
.st-ad-slot:not(.st-ad-native):is(.st-ad-board_bottom,.st-ad-magazine_bottom,.st-ad-home_mobile,.st-ad-home_mobile_2){grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:8px;row-gap:4px;min-width:0}
.st-ad-slot:not(.st-ad-native):is(.st-ad-board_bottom,.st-ad-magazine_bottom){display:grid}
.st-ad-slot:not(.st-ad-native):is(.st-ad-board_bottom,.st-ad-magazine_bottom,.st-ad-home_mobile,.st-ad-home_mobile_2)>.st-ad-label{grid-area:1 / 1;margin:0}
.st-ad-slot:not(.st-ad-native):is(.st-ad-board_bottom,.st-ad-magazine_bottom,.st-ad-home_mobile,.st-ad-home_mobile_2)>.st-ad-controls{grid-area:1 / 2;margin:0}
.st-ad-slot:not(.st-ad-native):is(.st-ad-board_bottom,.st-ad-magazine_bottom,.st-ad-home_mobile,.st-ad-home_mobile_2)>.st-ad-frame{grid-column:1 / -1;grid-row:2;min-width:0}
/* Reserve one shape for both creatives; natural-size differences must not move the feed. */
.st-ad-slot>.st-ad-frame>picture{aspect-ratio:3 / 1;overflow:hidden}
.st-ad-slot>.st-ad-frame>picture>img{width:100%;height:100%;max-height:none;object-fit:contain}
.st-ad-home_mobile:not(.st-ad-native){max-width:600px}
@media(max-width:1439px){.st-ad-home_mobile:not(.st-ad-native){display:grid}}

/* 좁은 화면의 둘째 가로 광고 자리. 새 글 목록 사이에 들어간다.
   1000px 이상은 3열 배치라 쓰지 않는다. 요청 범위는 모바일이다. */
.st-ad-region-2{margin:0;padding:6px 12px 12px}
.st-ad-home_mobile_2:not(.st-ad-native){max-width:600px;margin-inline:auto;display:grid}
.st-ad-home_mobile_2 img{max-height:200px}
@media(min-width:1000px){.st-ad-region-2{display:none!important}}
@media(min-width:1440px){
  .st-ad-home_left>.st-ad-frame>picture,.st-ad-home_right>.st-ad-frame>picture{aspect-ratio:1 / 3;max-height:calc(100dvh - 130px)}
}
@media(prefers-reduced-motion:reduce){.st-ad-slot *{animation:none!important;transition:none!important}}

/* Article typography must not add paragraph-image margins to an inserted banner. */
:is(.bv-body,.art-body)>.st-ad-inline{margin:24px 0;clear:both;font-size:15px;line-height:1.62;min-width:0}
.st-ad-inline>.st-ad-slot{margin-block:0}
.st-ad-inline .st-ad-slot img{margin:0;border-radius:0}
.st-ad-inline .st-ad-slot a{text-decoration:none}
@media(max-width:699px){:is(.bv-body,.art-body)>.st-ad-inline{margin-block:20px}}
