/*
Theme Name:   DdangTube Child
Theme URI:    https://ddangtube.com
Description:  DdangTube 차일드 테마 - 커스터마이징을 위한 안전한 테마
Author:       DdangTube Team
Author URI:   https://ddangtube.com
Template:     ddangtube
Version:      1.0.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  ddangtube-child
Tags:         video, streaming, community, modern, dark-mode
*/

/**
 * 이 파일에 커스텀 스타일을 추가하세요.
 *
 * 부모 테마(ddangtube)의 스타일은 functions.php에서 자동으로 로드됩니다.
 * 여기에 작성하는 스타일은 부모 테마 스타일을 덮어씁니다.
 */

/* FluxBoard 다크 테마 오버라이드 → assets/css/fluxboard-dark.css */

.fluxboard-deny-card__btn.fluxboard-deny-card__btn--membership {
    background: #ff00331f;
    border-color: #ff00333d;
    color: #ffffffeb;
}

.fluxboard-deny-card__btn {
    padding: 8px 20px;
    font-size: 12px;
    gap: 5px;
}

.fluxboard-comment__author-badge {
    background: #731c82;
    color: #dadada;
    font-size: 10px;
    font-weight: 500;
    margin-top: -6px;
}

.fluxboard-comment__avatar-wrap{
    gap: 0;
}

.fluxboard-author__name {
    color: #ffffffd6;
}

/* ==========================================
   FluxBoard 상세검색 패널 - 땅튜브 다크 테마
   ========================================== */

/* 툴바 */
.fluxboard-board__toolbar {
    background: var(--bg-secondary, #1c1c1c);
    border: 1px solid var(--border-primary, #3f4147);
    border-radius: var(--radius-md, 8px);
    padding: 12px 16px;
    margin-bottom: 16px;
}

.fluxboard-board__total {
    color: var(--text-secondary, #b5bac1);
}

.fluxboard-board__total strong {
    color: var(--accent-primary, #EA7E11);
}

/* 정렬 셀렉트 */
.fluxboard-board__sort-select {
    background: var(--bg-primary, #0F0F0F);
    border: 1px solid var(--border-primary, #3f4147);
    color: var(--text-primary, #f2f3f5);
    border-radius: var(--radius-sm, 4px);
    padding: 6px 12px;
    font-size: 13px;
    transition: all var(--transition-fast, 150ms ease);
}

.fluxboard-board__sort-select:hover {
    border-color: var(--accent-primary, #EA7E11);
    background: var(--bg-hover, #404249);
}

.fluxboard-board__sort-select:focus {
    outline: none;
    border-color: var(--accent-primary, #EA7E11);
    box-shadow: 0 0 0 2px rgba(234, 126, 17, 0.2);
}

/* 필터 토글 버튼 */
.fluxboard-board__filter-toggle {
    background: var(--bg-primary, #0F0F0F);
    border: 1px solid var(--border-primary, #3f4147);
    color: var(--text-secondary, #b5bac1);
    border-radius: var(--radius-sm, 4px);
    padding: 6px 12px;
    font-size: 13px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    transition: all var(--transition-fast, 150ms ease);
    position: relative;
}

.fluxboard-board__filter-toggle:hover {
    border-color: var(--accent-primary, #EA7E11);
    background: var(--bg-hover, #404249);
    color: var(--text-primary, #f2f3f5);
}

.fluxboard-board__filter-toggle--active {
    background: var(--accent-primary, #EA7E11);
    border-color: var(--accent-primary, #EA7E11);
    color: #fff;
}

.fluxboard-board__filter-toggle svg {
    width: 14px;
    height: 14px;
}

.fluxboard-board__filter-dot {
    position: absolute;
    top: 4px;
    right: 4px;
    width: 6px;
    height: 6px;
    background: #fff;
    border-radius: 50%;
}

/* 필터 패널 */
.fluxboard-board__filter-panel {
    background: var(--bg-secondary, #1c1c1c);
    border: 1px solid var(--border-primary, #3f4147);
    border-radius: var(--radius-md, 8px);
    padding: 20px;
    margin-bottom: 16px;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: all var(--transition-normal, 300ms ease);
}

.fluxboard-board__filter-panel--open {
    max-height: 500px;
    opacity: 1;
    margin-top: -8px;
}

/* 필터 폼 */
.fluxboard-board__filter-form {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.fluxboard-board__filter-row {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.fluxboard-board__filter-label {
    flex-shrink: 0;
    width: 70px;
    padding-top: 8px;
    font-size: 13px;
    font-weight: 500;
    color: var(--text-secondary, #b5bac1);
}

.fluxboard-board__filter-inputs {
    flex: 1;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.fluxboard-board__filter-inputs--date {
    align-items: center;
}

/* 필터 입력 요소 - specificity를 높여 부모 테마 input[type] 오버라이드 */
.fluxboard-freeboard .fluxboard-board__filter-select,
.fluxboard-freeboard .fluxboard-board__filter-input,
.fluxboard-freeboard .fluxboard-board__filter-date {
    background: var(--bg-primary, #0F0F0F);
    border: 1px solid var(--border-primary, #3f4147);
    color: var(--text-primary, #f2f3f5);
    border-radius: var(--radius-sm, 4px);
    padding: 8px 12px;
    font-size: 13px;
    transition: all var(--transition-fast, 150ms ease);
}

.fluxboard-board__filter-select {
    min-width: 120px;
}

.fluxboard-board__filter-input {
    flex: 1;
    min-width: 220px;
}

.fluxboard-board__filter-date {
    width: 140px;
}

.fluxboard-freeboard .fluxboard-board__filter-select:hover,
.fluxboard-freeboard .fluxboard-board__filter-input:hover,
.fluxboard-freeboard .fluxboard-board__filter-date:hover {
    border-color: var(--accent-primary, #EA7E11);
}

.fluxboard-freeboard .fluxboard-board__filter-select:focus,
.fluxboard-freeboard .fluxboard-board__filter-input:focus,
.fluxboard-freeboard .fluxboard-board__filter-date:focus {
    outline: none;
    border-color: var(--accent-primary, #EA7E11);
    box-shadow: 0 0 0 2px rgba(234, 126, 17, 0.2);
    background: var(--bg-hover, #404249);
}

.fluxboard-freeboard .fluxboard-board__filter-input::placeholder {
    color: var(--text-muted, #80848e);
}

.fluxboard-board__filter-sep {
    color: var(--text-muted, #80848e);
    font-size: 14px;
}

/* 빠른 날짜 버튼 */
.fluxboard-board__filter-quick-dates {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    width: 100%;
}

.fluxboard-board__filter-quick-btn {
    background: var(--bg-primary, #0F0F0F);
    border: 1px solid var(--border-secondary, #292b2f);
    color: var(--text-secondary, #b5bac1);
    border-radius: var(--radius-sm, 4px);
    padding: 4px 10px;
    font-size: 12px;
    cursor: pointer;
    transition: all var(--transition-fast, 150ms ease);
}

.fluxboard-board__filter-quick-btn:hover {
    background: var(--bg-hover, #404249);
    border-color: var(--accent-primary, #EA7E11);
    color: var(--text-primary, #f2f3f5);
}

/* 필터 액션 버튼 */
.fluxboard-board__filter-actions {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    padding-top: 8px;
    border-top: 1px solid var(--border-secondary, #292b2f);
}

.fluxboard-board__filter-reset {
    padding: 8px 16px;
    background: var(--bg-primary, #0F0F0F);
    border: 1px solid var(--border-primary, #3f4147);
    color: var(--text-secondary, #b5bac1);
    border-radius: var(--radius-sm, 4px);
    font-size: 13px;
    cursor: pointer;
    transition: all var(--transition-fast, 150ms ease);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
}

.fluxboard-board__filter-reset:hover {
    background: var(--bg-hover, #404249);
    border-color: var(--accent-danger, #f04747);
    color: var(--accent-danger, #f04747);
}

.fluxboard-board__filter-submit {
    padding: 8px 16px;
    background: var(--accent-primary, #EA7E11);
    border: 1px solid var(--accent-primary, #EA7E11);
    color: #fff;
    border-radius: var(--radius-sm, 4px);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: all var(--transition-fast, 150ms ease);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.fluxboard-board__filter-submit:hover {
    background: var(--accent-secondary, #d16f0f);
    border-color: var(--accent-secondary, #d16f0f);
    box-shadow: var(--shadow-md, 0 2px 8px rgba(0, 0, 0, 0.4));
}

.fluxboard-board__filter-submit svg {
    width: 14px;
    height: 14px;
}

/* 모바일 반응형 */
@media (max-width: 768px) {
    .fluxboard-board__filter-row {
        flex-direction: column;
        gap: 8px;
    }

    .fluxboard-board__filter-label {
        width: 100%;
        padding-top: 0;
    }

    .fluxboard-board__filter-inputs {
        width: 100%;
    }

    .fluxboard-board__filter-input {
        width: 100%;
    }

    .fluxboard-board__filter-date {
        flex: 1;
    }

    .fluxboard-board__filter-actions {
        flex-direction: column;
    }

    .fluxboard-board__filter-reset,
    .fluxboard-board__filter-submit {
        width: 100%;
        justify-content: center;
    }
}