/* ===================================================
   FluxShop Default Dark Skin — THE PURE Minimal (Dark)
   default 스킨을 계승한 다크 버전.
   템플릿은 default 스킨에서 자동 fallback 된다.
   (class-skin-renderer.php 우선순위: active → default → plugin)

   전략: default/assets/skin.css의 모든 스타일을 그대로 임포트하고,
         CSS 변수와 일부 배경·보더·gradient만 다크 팔레트로 덮어쓴다.
   =================================================== */

/* default 스킨 CSS 전체 계승 */
@import url("../../default/assets/skin.css");

/* ===================
   1. 다크 팔레트 오버라이드
   =================== */
:root {
    /* 기본 팔레트 — 다크 모드 */
    --fhs-black:         #f5f5f5;    /* 주 강조색: 흰색으로 반전 */
    --fhs-text:          #f5f5f5;
    --fhs-text-sub:      #d4d4d4;
    --fhs-text-muted:    #8a8a8a;
    --fhs-text-light:    #5a5a5a;
    --fhs-border:        #2e2e2e;
    --fhs-border-light:  #222222;
    --fhs-border-faint:  #1c1c1c;
    --fhs-bg:            #0f0f0f;    /* 페이지 배경 */
    --fhs-bg-soft:       #1f1d1a;    /* 상품 이미지 배경 (어두운 아이보리) */
    --fhs-bg-gray:       #1a1a1a;    /* 섹션 배경 */
    --fhs-white:         #161616;    /* '화이트' 자리 = 카드 표면 */

    /* 포인트 컬러 — 다크에서는 더 선명한 톤 */
    --fhs-primary:       #ffffff;
    --fhs-primary-hover: #e0e0e0;
    --fhs-accent:        #ff5e67;    /* 할인가/강조 — 더 밝은 레드 */
    --fhs-accent-dark:   #ff3e4a;
    --fhs-success:       #2ecc71;
    --fhs-danger:        #ff5e67;

    /* 그림자 */
    --fhs-shadow:        0 1px 3px rgba(0,0,0,.4);
    --fhs-shadow-md:     0 4px 16px rgba(0,0,0,.5);

    /* 하위호환 alias 갱신 */
    --fluxshop-primary:       var(--fhs-primary);
    --fluxshop-primary-dark:  var(--fhs-primary-hover);
    --fluxshop-accent:        var(--fhs-accent);
    --fluxshop-danger:        var(--fhs-danger);
    --fluxshop-success:       var(--fhs-success);
    --fluxshop-text:          var(--fhs-text);
    --fluxshop-text-muted:    var(--fhs-text-muted);
    --fluxshop-border:        var(--fhs-border);
    --fluxshop-bg:            var(--fhs-bg);
    --fluxshop-white:         var(--fhs-white);
    --fluxshop-shadow:        var(--fhs-shadow);
    --fluxshop-shadow-md:     var(--fhs-shadow-md);
}

/* ===================
   2. 버튼 반전 (다크에서 primary = 흰 배경 검정 글씨)
   =================== */
.fluxshop-btn--primary {
    background: #ffffff;
    color: #111111;
    border-color: #ffffff;
}
.fluxshop-btn--primary:hover {
    background: #e6e6e6;
    border-color: #e6e6e6;
    color: #111111;
}
.fluxshop-btn--disabled,
.fluxshop-btn[disabled] {
    background: var(--fhs-bg-gray);
    color: var(--fhs-text-muted);
    border-color: var(--fhs-border);
}

/* outline 버튼 */
.fluxshop-btn--outline {
    background: transparent;
    color: var(--fhs-text);
    border-color: var(--fhs-border);
}
.fluxshop-btn--outline:hover {
    border-color: var(--fhs-text);
    color: var(--fhs-text);
}

/* 아이콘 버튼 */
.fhs-icon-btn {
    background: transparent;
    color: var(--fhs-text);
}
.fhs-icon-btn:hover { border-color: var(--fhs-text); }

/* ===================
   3. 카테고리 탭 (다크)
   =================== */
.fhs-cat-tab {
    background: transparent;
    color: var(--fhs-text-muted);
    border-color: var(--fhs-border);
}
.fhs-cat-tab:hover {
    border-color: var(--fhs-text);
    color: var(--fhs-text);
}
.fhs-cat-tab.active {
    background: var(--fhs-text);
    color: #111111;
    border-color: var(--fhs-text);
}

/* ===================
   4. 카운트 숫자 박스
   =================== */
.fhs-loop-count strong {
    color: var(--fhs-text);
    border-color: var(--fhs-border);
    background: transparent;
}

/* 셀렉트 박스 (화살표 아이콘도 라이트로 교체) */
.fhs-sort-links select,
.fhs-sort-select {
    background: var(--fhs-bg) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' stroke='%23f5f5f5' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat right 14px center;
    border-color: var(--fhs-border);
    color: var(--fhs-text);
}
.fhs-sort-links select:focus,
.fhs-sort-select:focus { border-color: var(--fhs-text); }

/* ===================
   5. 상품 카드 (다크)
   =================== */
.fluxshop-product-card__image-link {
    background: var(--fhs-bg-soft);
}
.fluxshop-product-card__name a:hover {
    color: var(--fhs-text);
}
.fhs-card-action {
    background: rgba(20,20,20,.9);
    border-color: var(--fhs-border);
    color: var(--fhs-text);
}
.fhs-card-action:hover {
    background: var(--fhs-text);
    color: #111;
    border-color: var(--fhs-text);
}
.fhs-card-swatch {
    border-color: rgba(255,255,255,.15);
}

/* 배지 */
.fluxshop-badge      { background: var(--fhs-text); color: #111; }
.fluxshop-badge--sale    { background: var(--fhs-accent); color: #fff; }
.fluxshop-badge--new     { background: var(--fhs-text); color: #111; }
.fluxshop-badge--active  { background: var(--fhs-success); color: #fff; }

/* ===================
   6. 상품 상세 (다크)
   =================== */
.fluxshop-product-detail__main-image { background: var(--fhs-bg-soft); }
.fhs-thumb {
    background: var(--fhs-bg-soft);
    border-color: transparent;
}
.fhs-thumb.active { border-color: var(--fhs-text); }

.fluxshop-product-detail__features li::before { color: var(--fhs-text); }
.fluxshop-product-detail__rating .fhs-star { color: var(--fhs-text); }
.fluxshop-product-detail__rating .fhs-rating-count { border-left-color: var(--fhs-border); }

.fhs-price-del { color: var(--fhs-text-light); }
.fhs-price-current { color: var(--fhs-text); }
.fhs-price-discount { color: var(--fhs-accent); }

.fhs-trial-badge {
    background: rgba(255,94,103,.12);
    color: var(--fhs-accent);
    border-color: var(--fhs-accent);
}

/* 옵션/수량 */
.fhs-variant-select {
    background: var(--fhs-bg);
    color: var(--fhs-text);
    border-color: var(--fhs-border);
}
.fhs-variant-select:focus { border-color: var(--fhs-text); }

.fhs-qty-wrap {
    background: var(--fhs-bg);
    border-color: var(--fhs-border);
}
.fhs-qty-btn,
.fhs-qty-wrap button {
    background: var(--fhs-bg);
    color: var(--fhs-text);
}
.fhs-qty-btn:hover,
.fhs-qty-wrap button:hover { background: var(--fhs-bg-gray); }
.fhs-qty-wrap input[type="number"] {
    color: var(--fhs-text);
    border-left-color: var(--fhs-border);
    border-right-color: var(--fhs-border);
}

/* 총 금액 박스 */
.fluxshop-product-detail__total { border-top-color: var(--fhs-text); }
.fluxshop-product-detail__total-label { color: var(--fhs-text); }
.fluxshop-product-detail__total-amount { color: var(--fhs-accent); }

/* 구매 버튼 영역 */
.fluxshop-product-detail__actions .fluxshop-btn--cart {
    background: transparent;
    color: var(--fhs-text);
    border-color: var(--fhs-border);
}
.fluxshop-product-detail__actions .fluxshop-btn--cart:hover {
    border-color: var(--fhs-text);
    color: var(--fhs-text);
}

/* 탭 */
.fhs-tab-nav {
    border-top-color: var(--fhs-border);
    border-bottom-color: var(--fhs-border);
}
.fhs-tab-btn { color: var(--fhs-text-muted); }
.fhs-tab-btn.active,
.fhs-tab-btn:hover {
    color: var(--fhs-text);
    border-bottom-color: var(--fhs-text);
}
.fhs-tab-content p { color: var(--fhs-text-sub); }
.fhs-refund-policy h3 { color: var(--fhs-text); }

/* ===================
   7. 장바구니 (다크)
   =================== */
.fluxshop-cart__title { color: var(--fhs-text); }
.fluxshop-cart__empty p { color: var(--fhs-text-muted); }

.fluxshop-cart__table th {
    border-top-color: var(--fhs-text);
    border-bottom-color: var(--fhs-border);
    color: var(--fhs-text-muted);
}
.fluxshop-cart__table td {
    border-bottom-color: var(--fhs-border-light);
    color: var(--fhs-text);
}
.fhs-cart-product img { background: var(--fhs-bg-soft); }
.fhs-cart-product span { color: var(--fhs-text); }

.fhs-cart-remove {
    background: transparent;
    border-color: var(--fhs-border);
    color: var(--fhs-text-muted);
}
.fhs-cart-remove:hover {
    border-color: var(--fhs-text);
    color: var(--fhs-text);
    background: transparent;
}

.fluxshop-cart__coupon input[type="text"] {
    background: var(--fhs-bg);
    color: var(--fhs-text);
    border-color: var(--fhs-border);
}
.fluxshop-cart__coupon input[type="text"]:focus { border-color: var(--fhs-text); }
.fluxshop-cart__coupon button {
    background: var(--fhs-text);
    color: #111;
    border-color: var(--fhs-text);
}
.fluxshop-cart__coupon button:hover { background: #e6e6e6; }

.fluxshop-cart__totals table { border-top-color: var(--fhs-text); }
.fluxshop-cart__totals td { border-bottom-color: var(--fhs-border-light); color: var(--fhs-text-sub); }
.fluxshop-cart__totals td:last-child { color: var(--fhs-text); }
.fluxshop-cart__totals .fhs-total-row td {
    border-top-color: var(--fhs-border);
    color: var(--fhs-text);
}
.fluxshop-cart__totals .fhs-total-row td:last-child { color: var(--fhs-accent); }

/* ===================
   8. 체크아웃 (다크)
   =================== */
.fhs-checkout-section {
    background: var(--fhs-bg-gray);
    border-color: var(--fhs-border);
}
.fhs-section-title {
    color: var(--fhs-text);
    border-bottom-color: var(--fhs-border-light);
}
.fhs-form-row label { color: var(--fhs-text-muted); }
.fhs-form-row input,
.fhs-form-row select,
.fhs-form-row textarea {
    background: var(--fhs-bg);
    color: var(--fhs-text);
    border-color: var(--fhs-border);
}
.fhs-form-row input:focus,
.fhs-form-row select:focus,
.fhs-form-row textarea:focus { border-color: var(--fhs-text); }
.fhs-form-row input[readonly] {
    background: var(--fhs-border-light);
    color: var(--fhs-text-muted);
}

.fhs-form-row--inline button {
    background: var(--fhs-text);
    color: #111;
    border-color: var(--fhs-text);
}
.fhs-form-row--inline button:hover { background: #e6e6e6; }

/* PG */
.fhs-pg-item {
    background: var(--fhs-bg);
    color: var(--fhs-text);
    border-color: var(--fhs-border);
}
.fhs-pg-item:hover { border-color: var(--fhs-text); }
.fhs-pg-item.active {
    background: var(--fhs-text);
    color: #111;
    border-color: var(--fhs-text);
}
.fhs-pg-item input[type="radio"] { accent-color: var(--fhs-text); }

/* 주문 요약 */
.fhs-order-summary {
    background: var(--fhs-bg-gray);
    border-color: var(--fhs-border);
}
.fhs-order-item {
    border-bottom-color: var(--fhs-border-light);
    color: var(--fhs-text);
}
.fhs-order-total-rows .fhs-total-row { color: var(--fhs-text-sub); border-bottom-color: var(--fhs-border-light); }
.fhs-total-row--final {
    border-top-color: var(--fhs-border);
    color: var(--fhs-text);
}
.fhs-total-row--final span:last-child { color: var(--fhs-accent); }
.fhs-checkout-agree { color: var(--fhs-text-muted); }
.fhs-checkout-agree a { color: var(--fhs-text-sub); }

/* ===================
   9. 주문 완료 (다크)
   =================== */
.fluxshop-order-complete {
    background: var(--fhs-bg-gray);
    border-color: var(--fhs-border);
}
.fhs-complete-icon {
    background: var(--fhs-text);
    color: #111;
}
.fluxshop-order-complete h1 { color: var(--fhs-text); }
.fhs-order-number { color: var(--fhs-text-muted); }
.fhs-order-number strong { color: var(--fhs-text); }
.fhs-complete-summary { background: var(--fhs-bg); }
.fhs-complete-row {
    border-bottom-color: var(--fhs-border-light);
    color: var(--fhs-text-sub);
}
.fhs-complete-row:last-child { color: var(--fhs-text); }

/* ===================
   10. 테이블 (다크)
   =================== */
.fluxshop-table th {
    border-top-color: var(--fhs-text);
    border-bottom-color: var(--fhs-border);
    color: var(--fhs-text-muted);
}
.fluxshop-table td {
    border-bottom-color: var(--fhs-border-light);
    color: var(--fhs-text);
}
.fluxshop-table tbody tr:hover { background: var(--fhs-bg-gray); }

/* ===================
   11. 페이지네이션 (다크)
   =================== */
.fhs-page-num,
.fhs-page-btn { color: var(--fhs-text-muted); }
.fhs-page-num:hover,
.fhs-page-btn:hover {
    color: var(--fhs-text);
    border-color: var(--fhs-border);
}
.fhs-page-num.active {
    color: var(--fhs-text);
    border-color: var(--fhs-text);
}
.fhs-page-ellipsis { color: var(--fhs-text-light); }

/* ===================
   12. 카드 (트래킹/구독)
   =================== */
.fhs-tracking-card,
.fhs-sub-card {
    background: var(--fhs-bg-gray);
    border-color: var(--fhs-border);
}
.fhs-sub-card--active { border-left-color: var(--fhs-text); }
.fhs-tracking-header,
.fhs-sub-card__header { border-bottom-color: var(--fhs-border-light); }
.fhs-sub-card__header h3 { color: var(--fhs-text); }
.fhs-sub-card__body p { color: var(--fhs-text-sub); }
.fhs-sub-card__body strong { color: var(--fhs-text); }
.fhs-sub-card__footer { border-top-color: var(--fhs-border-light); }
.fhs-tracking-header .fhs-order-num { color: var(--fhs-text); }

/* ===================
   13. Pricing (구독 요금제)
   =================== */
.fluxshop-pricing-card {
    background: var(--fhs-bg-gray);
    border-color: var(--fhs-border);
}
.fluxshop-pricing-card:hover { border-color: var(--fhs-text); }
.fluxshop-pricing-card--featured { border-color: var(--fhs-text); }
.fluxshop-pricing-card__badge {
    background: var(--fhs-text);
    color: #111;
}
.fluxshop-pricing-card__name { color: var(--fhs-text); }
.fhs-price-amount { color: var(--fhs-text); }
.fhs-price-unit { color: var(--fhs-text-muted); }
.fluxshop-pricing-card__header .fhs-trial { color: var(--fhs-accent); }
.fluxshop-pricing-card__features { border-top-color: var(--fhs-border-light); }
.fluxshop-pricing-card__features li { color: var(--fhs-text-sub); }
.fluxshop-pricing-card__features li::before { color: var(--fhs-text); }

/* ===================
   14. 유틸 / 토스트 (다크)
   =================== */
.fluxshop-empty { color: var(--fhs-text-muted); }
.fluxshop-notice {
    background: var(--fhs-bg-gray);
    border-left-color: var(--fhs-text);
    color: var(--fhs-text-sub);
}
.fluxshop-notice a { color: var(--fhs-text); }

.fhs-toast {
    background: var(--fhs-text);
    color: #111;
}
.fhs-toast--success { background: var(--fhs-success); color: #fff; }
.fhs-toast--error   { background: var(--fhs-danger); color: #fff; }
.fhs-toast--info    { background: var(--fhs-bg-gray); color: var(--fhs-text); }
