/* 사이트 색감을 이어가며 설명과 선택을 구분한 분석 동의 창. */
#bg3-consent-banner { --m-touch:44px; position:fixed; z-index:2147483000; bottom:24px; right:24px; width:520px; max-width:calc(100vw - 48px); box-sizing:border-box; padding:18px; border:1px solid #897650; border-radius:6px; background:linear-gradient(145deg,#24231f,#181a1d 65%); color:#eee8db; box-shadow:0 12px 48px #0008,inset 0 1px #dfc38b15; font:14px/1.65 system-ui,sans-serif; max-height:calc(100dvh - 48px); overflow:auto; text-align:left; }
#bg3-consent-banner p { margin:0; color:inherit; }
#bg3-consent-banner .bg3-consent-eyebrow { margin:0 0 6px; color:#c5ae7d; font-size:10px; letter-spacing:.1em; }
.bg3-consent-heading { display:flex; align-items:start; gap:12px; margin-bottom:8px; }
#bg3-consent-banner h2 { flex:1; font:600 22px/1.45 'BG3 KR','BG3 EN',Georgia,serif; color:#f1e7cf; margin:0; word-break:keep-all; }
#bg3-consent-banner .bg3-consent-description { color:#e1ddd4; word-break:keep-all; overflow-wrap:anywhere; }
#bg3-consent-banner .bg3-consent-reassurance { margin-top:8px; color:#c1bcae; font-size:13px; word-break:keep-all; overflow-wrap:anywhere; }
.bg3-consent-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:12px; }
#bg3-consent-banner button, #bg3-consent-settings { font:600 14px/1.4 system-ui,sans-serif; min-height:44px; padding:12px 16px; background:#2c2b27; color:#f1e7cf; border:1px solid #aa9567; border-radius:4px; cursor:pointer; }
#bg3-consent-banner button:hover, #bg3-consent-settings:hover { background:#39352b; border-color:#d1b77d; }
#bg3-consent-banner .bg3-consent-close { flex:none; padding:8px; margin:-8px -8px 0 0; border-color:transparent; background:transparent; font-size:12px; color:#c1bcae; }
.bg3-consent-details { margin-top:4px; }
.bg3-consent-details summary { display:list-item; width:fit-content; min-height:var(--m-touch); box-sizing:border-box; padding:10px 0; cursor:pointer; color:#d6c298; font-size:13px; }
.bg3-consent-details dl { margin:4px 0 16px; padding:0 0 0 14px; border-left:1px solid #89765080; }
.bg3-consent-details dl > div + div { margin-top:12px; }
.bg3-consent-details dt { margin:0 0 3px; font-weight:600; font-size:13px; color:#eee8db; }
.bg3-consent-details dd { margin:0; color:#c1bcae; font-size:13px; }
.bg3-consent-footer { padding-top:0; }
#bg3-consent-banner .bg3-consent-status { font-size:12px; line-height:1.65; color:#bdb6a7; }
#bg3-consent-banner a { display:inline-block; min-height:44px; box-sizing:border-box; padding-top:12px; color:#d6c298; font-size:12px; text-decoration:underline; text-underline-offset:3px; }
#bg3-consent-banner [role="alert"]:not(:empty) { margin-top:12px; color:#ffd6ae; }
#bg3-consent-banner button:focus-visible, #bg3-consent-banner a:focus-visible, .bg3-consent-details summary:focus-visible, #bg3-consent-settings:focus-visible { outline:2px solid #f1cb70; outline-offset:3px; }
#bg3-consent-settings { position:static; display:inline-flex; align-items:center; box-sizing:border-box; font:inherit; padding:0; background:transparent; color:inherit; border:0; border-radius:0; text-decoration:none; transition:color .14s ease; }
/* 링크와 설정 단추의 글줄 중심을 맞추면 같은 격자 행의 팬 사이트 안내도 나란히 선다. */
.footnote .sf-legal { align-items:center; row-gap:0; }
.footnote .sf-legal a { display:inline-flex; align-items:center; box-sizing:border-box; min-height:44px; padding:0; font:inherit; }
.footnote #bg3-consent-settings { color:var(--text-2); }
#bg3-consent-settings:hover, .footnote #bg3-consent-settings:focus-visible { background:transparent; color:var(--accent, #d1b77d); }
.footnote #bg3-consent-settings:focus-visible { outline:2px solid var(--accent, #f1cb70); outline-offset:4px; }
.bg3-consent-settings-footer { padding:12px 24px calc(76px + env(safe-area-inset-bottom, 0px)); color:#c1bcae; }
/* 모바일에서는 하단 탐색과 기기의 안전 영역을 비워 둔다. */
@media(max-width:720px) { #bg3-consent-banner { left:12px; right:12px; bottom:calc(68px + env(safe-area-inset-bottom, 0px)); width:auto; max-width:none; padding:16px; max-height:calc(100dvh - 92px - env(safe-area-inset-bottom, 0px)); } #bg3-consent-banner h2 { font-size:20px; } }
