/* =====================================================================
 * Cookie Consent — 하단 고정 동의 배너 (전역 모듈 오버레이)
 * 사이트 다크 톤 매칭 · 시그니처 레드 액션 · module/cookie.php + js/main.js initApmediaCookie()
 * 토큰: custom.css --cookie-*
 * ===================================================================== */
.apmedia-cookie { position: fixed; left: 50%; bottom: var(--cookie-inset); z-index: var(--cookie-z); width: min(var(--cookie-max-w), calc(100% - var(--cookie-inset) * 2)); transform: translate(-50%, calc(100% + var(--cookie-inset) + var(--cookie-slide-offset))); opacity: 0; transition: transform var(--cookie-dur) var(--cookie-ease), opacity var(--cookie-dur) var(--cookie-ease); }
.apmedia-cookie[hidden] { display: none; }
.apmedia-cookie[data-open] { transform: translate(-50%, 0); opacity: 1; }
.apmedia-cookie-inner { display: flex; align-items: center; gap: var(--cookie-gap); padding: var(--cookie-pad-y) var(--cookie-pad-x); background: var(--cookie-bg); backdrop-filter: blur(var(--blur-lg)); -webkit-backdrop-filter: blur(var(--blur-lg)); border-radius: var(--cookie-radius); box-shadow: var(--cookie-shadow); }
.apmedia-cookie-icon { display: flex; flex: none; width: var(--cookie-icon-size); height: var(--cookie-icon-size); color: var(--signature-color); }
.apmedia-cookie-icon svg { width: 100%; height: 100%; }
.apmedia-cookie-text { flex: 1 1 auto; margin: 0; font-size: var(--cookie-text-fs); line-height: var(--lh-body); color: var(--cookie-mut); word-break: keep-all; }
.apmedia-cookie-link { color: var(--color-white); font-weight: var(--fw-semibold); text-decoration: underline; text-underline-offset: 3px; transition: color var(--dur-tap) var(--cookie-ease); }
.apmedia-cookie-link:hover { color: var(--signature-color); }
.apmedia-cookie-actions { display: flex; flex: none; gap: var(--cookie-actions-gap); }
.apmedia-cookie-btn { padding: var(--cookie-btn-pad-y) var(--cookie-btn-pad-x); border: 0; border-radius: var(--radius-pill); font-family: inherit; font-size: var(--cookie-btn-fs); font-weight: var(--fw-semibold); cursor: pointer; white-space: nowrap; transition: background var(--dur-tap) var(--cookie-ease), color var(--dur-tap) var(--cookie-ease), transform var(--dur-tap) var(--cookie-ease); }
.apmedia-cookie-btn--ghost { background: transparent; color: var(--cookie-mut); }
.apmedia-cookie-btn--ghost:hover { background: var(--color-white-08); color: var(--cookie-ink); }
.apmedia-cookie-btn--solid { background: var(--signature-color); color: var(--color-white); }
.apmedia-cookie-btn--solid:hover { background: var(--reach-red-hi); transform: translateY(var(--cookie-btn-lift)); }

@media (max-width: 40rem) {
    .apmedia-cookie-inner { flex-wrap: wrap; }
    .apmedia-cookie-icon { order: -1; }
    .apmedia-cookie-actions { width: 100%; }
    .apmedia-cookie-btn { flex: 1 1 0; }
}
@media (prefers-reduced-motion: reduce) {
    .apmedia-cookie { transition: opacity var(--cookie-dur) linear; transform: translate(-50%, 0); }
    .apmedia-cookie[data-open] { transform: translate(-50%, 0); }
}

/* 터치 기기 — 동의·거부·처리방침은 잘못 누르면 곤란한 버튼이라 44px 를 반드시 확보한다 */
@media (hover: none), (pointer: coarse), (any-pointer: coarse) {
    .apmedia-cookie-link,
    .apmedia-cookie-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: var(--size-touch-min);
    }
}
