/* ===========================
   Admin Button Colors
   관리자 "버튼 설정(공통)" 값을 이모티콘마켓 버튼에 연결
   - 마지막에 로드되어 기존 버튼 색상보다 우선
   =========================== */

.emoticon-page {
    --emoticon-admin-button-bg: var(--tv-admin-button-bg, #007bff);
    --emoticon-admin-button-bg-hover: var(--tv-admin-button-bg-hover, #0069d9);
    --emoticon-admin-button-text: var(--tv-admin-button-text, #ffffff);
    --emoticon-admin-button-text-hover: var(--tv-admin-button-hover, #f0f0f0);
}

/* 관리자 '색상 설정(공통)'의 기본 텍스트·마우스오버 텍스트 연결.
   --tv-admin-* 변수는 body에 정의되므로 body에서 alias를 만든다. */
body {
    --emoticon-admin-text: var(--tv-admin-text, #59616f);
    --emoticon-admin-text-hover: var(--tv-admin-hover, #1683ff);
}

/* 모든 버튼의 투명 효과 제거 */
.emoticon-page button,
.emoticon-page a[class*="button"],
.emoticon-page .emoticon-pagination a,
.emoticon-page .emoticon-tabs a,
.emoticon-page input[type="submit"],
.emoticon-page input[type="button"] {
    opacity: 1 !important;
}

/* 동작 버튼 및 버튼형 링크 */
.emoticon-page :is(
    .emoticon-primary-button,
    .emoticon-link-button,
    .emoticon-header-button,
    .emoticon-icon-button,
    .emoticon-modal-close,
    .emoticon-tabs a,
    .emoticon-tabs button,
    .emoticon-pagination a,
    .emoticon-pagination button,
    .emoticon-owned-button,
    .emoticon-owned-detail-button,
    .emoticon-card-like-button,
    .emoticon-like-button,
    .emoticon-admin-edit-button,
    .emoticon-item-close,
    .emoticon-preview-item button,
    .emoticon-login-notice-close,
    .emoticon-login-notice-confirm
):not(:disabled):not([aria-disabled="true"]) {
    border-color: transparent !important;
    background: var(--emoticon-admin-button-bg) !important;
    color: var(--emoticon-admin-button-text) !important;
    text-decoration: none !important;
}

/* 클래스가 없는 button (탭, 페이지네이션, 아이콘 등) */
.emoticon-page button:not(.emoticon-item-button):not(:disabled):not([aria-disabled="true"]) {
    border-color: transparent !important;
    background: var(--emoticon-admin-button-bg) !important;
    color: var(--emoticon-admin-button-text) !important;
}

/* hover / focus */
.emoticon-page :is(
    .emoticon-primary-button,
    .emoticon-link-button,
    .emoticon-header-button,
    .emoticon-icon-button,
    .emoticon-modal-close,
    .emoticon-tabs a,
    .emoticon-tabs button,
    .emoticon-pagination a,
    .emoticon-pagination button,
    .emoticon-owned-button,
    .emoticon-owned-detail-button,
    .emoticon-card-like-button,
    .emoticon-like-button,
    .emoticon-admin-edit-button,
    .emoticon-item-close,
    .emoticon-preview-item button,
    .emoticon-login-notice-close,
    .emoticon-login-notice-confirm
):not(:disabled):not([aria-disabled="true"]):is(:hover, :focus-visible),
.emoticon-page button:not(.emoticon-item-button):not(:disabled):not([aria-disabled="true"]):is(:hover, :focus-visible) {
    border-color: transparent !important;
    background: var(--emoticon-admin-button-bg-hover) !important;
    color: var(--emoticon-admin-button-text-hover) !important;
}

/* 키보드 포커스 표시 */
.emoticon-page :is(
    .emoticon-primary-button,
    .emoticon-link-button,
    .emoticon-header-button,
    .emoticon-icon-button,
    .emoticon-modal-close,
    .emoticon-tabs a,
    .emoticon-tabs button,
    .emoticon-pagination a,
    .emoticon-pagination button,
    .emoticon-owned-button,
    .emoticon-owned-detail-button,
    .emoticon-card-like-button,
    .emoticon-like-button,
    .emoticon-admin-edit-button,
    .emoticon-item-close,
    .emoticon-preview-item button,
    .emoticon-login-notice-close,
    .emoticon-login-notice-confirm
):focus-visible,
.emoticon-page button:not(.emoticon-item-button):not([aria-disabled="true"]):focus-visible {
    outline: 2px solid var(--emoticon-admin-button-bg-hover) !important;
    outline-offset: 2px;
}

/* 비활성 버튼도 관리자 색상 계열로 통일하되 흐리게 표시 */
.emoticon-page :is(
    .emoticon-primary-button,
    .emoticon-link-button,
    .emoticon-icon-button,
    .emoticon-owned-button,
    .emoticon-owned-detail-button,
    .emoticon-admin-edit-button
):disabled,
.emoticon-page button:not(.emoticon-item-button):disabled {
    border-color: transparent !important;
    background: var(--emoticon-admin-button-bg) !important;
    color: var(--emoticon-admin-button-text) !important;
    opacity: 1 !important;
}

/* 이미지 타일은 이미지 가시성을 위해 배경을 유지하고 테두리/hover만 관리자 색상 사용 */
.emoticon-page .emoticon-item-button:not(:disabled):not([aria-disabled="true"]),
.emoticon-page .emoticon-mini-grid button:not(:disabled):not([aria-disabled="true"]) {
    border-color: var(--md-outline-strong) !important;
    background: var(--md-surface) !important;
    color: var(--md-muted) !important;
}

.emoticon-page .emoticon-item-button:not(:disabled):not([aria-disabled="true"]):is(:hover, :focus-visible) {
    border-color: var(--emoticon-admin-button-bg) !important;
    background: var(--md-surface-muted) !important;
    color: var(--md-muted) !important;
}

.emoticon-page .emoticon-mini-grid button:not(:disabled):not([aria-disabled="true"]):is(:hover, :focus-visible) {
    border-color: var(--emoticon-admin-button-bg) !important;
    background: var(--md-surface-muted) !important;
    color: var(--md-muted) !important;
}

/* URL 복사 완료 상태는 관리자 색상 테두리로 표시 */
.emoticon-page .emoticon-mini-grid button.is-copied:not(:disabled):not([aria-disabled="true"]) {
    border-color: var(--emoticon-admin-button-bg) !important;
    box-shadow: inset 0 0 0 2px var(--emoticon-admin-button-bg) !important;
    background: var(--md-surface-muted) !important;
    color: var(--md-muted) !important;
}

/* 활성 상태 표시 */
.emoticon-page .emoticon-card-like-button.is-active:not(:disabled),
.emoticon-page .emoticon-like-button.is-active:not(:disabled) {
    box-shadow: inset 0 0 0 2px var(--emoticon-admin-button-text) !important;
}

.emoticon-page .emoticon-tabs button.is-active:not(:disabled),
.emoticon-page .emoticon-tabs a.is-active:not(:disabled) {
    border-bottom-color: var(--emoticon-admin-button-text) !important;
}

/* upload.php 인라인 !important보다 우선 */
.emoticon-page.emoticon-upload-page #emoticonSubmitButton:not(:disabled) {
    border-color: transparent !important;
    background: var(--emoticon-admin-button-bg) !important;
    color: var(--emoticon-admin-button-text) !important;
}

.emoticon-page.emoticon-upload-page #emoticonSubmitButton:not(:disabled):is(:hover, :focus-visible) {
    border-color: transparent !important;
    background: var(--emoticon-admin-button-bg-hover) !important;
    color: var(--emoticon-admin-button-text-hover) !important;
}

/* 판매가 숫자: 관리자 '버튼 배경색' 사용. hover 색상은 적용하지 않는다. */
.emoticon-page .emoticon-price-value {
    color: var(--emoticon-admin-button-bg, #007bff);
}
