/* Color Palette — style */
.bkcp-wrap {
    box-sizing: border-box;
}

.bkcp-wrap *,
.bkcp-wrap *::before,
.bkcp-wrap *::after {
    box-sizing: inherit;
}

.bkcp-title {
    margin-top: 0;
    font-size: var(--bkbg-cp-tt-font-size-d, 20px);
    line-height: var(--bkbg-cp-tt-line-height-d, 1.3);
    font-family: var(--bkbg-cp-tt-font-family, inherit);
    font-weight: var(--bkbg-cp-tt-font-weight, 700);
    font-style: var(--bkbg-cp-tt-font-style, normal);
    text-transform: var(--bkbg-cp-tt-text-transform, none);
    text-decoration: var(--bkbg-cp-tt-text-decoration, none);
    letter-spacing: var(--bkbg-cp-tt-letter-spacing-d, normal);
    word-spacing: var(--bkbg-cp-tt-word-spacing-d, normal);
}

.bkcp-name {
    font-size: var(--bkbg-cp-lb-font-size-d, 14px);
    font-family: var(--bkbg-cp-lb-font-family, inherit);
    font-weight: var(--bkbg-cp-lb-font-weight, 700);
    font-style: var(--bkbg-cp-lb-font-style, normal);
    text-transform: var(--bkbg-cp-lb-text-transform, none);
    text-decoration: var(--bkbg-cp-lb-text-decoration, none);
    letter-spacing: var(--bkbg-cp-lb-letter-spacing-d, normal);
    word-spacing: var(--bkbg-cp-lb-word-spacing-d, normal);
}

.bkcp-hex,
.bkcp-rgb {
    font-size: calc(var(--bkbg-cp-lb-font-size-d, 14px) - 1px);
    line-height: var(--bkbg-cp-lb-line-height-d, 1.45);
}

.bkcp-cssvar {
    font-size: calc(var(--bkbg-cp-lb-font-size-d, 14px) - 2px);
    line-height: var(--bkbg-cp-lb-line-height-d, 1.45);
}

.bkcp-card {
    position: relative;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.bkcp-card:hover {
    transform: translateY(-2px);
}

.bkcp-swatch {
    width: 100%;
    display: block;
}

.bkcp-label p {
    margin: 0 0 2px;
    line-height: 1.45;
}

.bkcp-copy {
    display: inline-block;
    margin-top: 6px;
    font-size: 11px;
    padding: 3px 10px;
    border-radius: 4px;
    border: 1px solid #e5e7eb;
    background: #f3f4f6;
    color: #374151;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease;
    line-height: 1.6;
}

.bkcp-copy:hover {
    background: #e5e7eb;
    border-color: #d1d5db;
}

.bkcp-copy.bkcp-copied {
    background: #d1fae5;
    border-color: #6ee7b7;
    color: #065f46;
}

/* ── Responsive typography ── */
@media (max-width: 1024px) {
    .bkcp-title {
        font-size: var(--bkbg-cp-tt-font-size-t, var(--bkbg-cp-tt-font-size-d, 20px));
        line-height: var(--bkbg-cp-tt-line-height-t, var(--bkbg-cp-tt-line-height-d, 1.3));
        letter-spacing: var(--bkbg-cp-tt-letter-spacing-t, var(--bkbg-cp-tt-letter-spacing-d, normal));
        word-spacing: var(--bkbg-cp-tt-word-spacing-t, var(--bkbg-cp-tt-word-spacing-d, normal));
    }
    .bkcp-name {
        font-size: var(--bkbg-cp-lb-font-size-t, var(--bkbg-cp-lb-font-size-d, 14px));
        letter-spacing: var(--bkbg-cp-lb-letter-spacing-t, var(--bkbg-cp-lb-letter-spacing-d, normal));
        word-spacing: var(--bkbg-cp-lb-word-spacing-t, var(--bkbg-cp-lb-word-spacing-d, normal));
            line-height: var(--bkbg-cp-lb-line-height-t, var(--bkbg-cp-lb-line-height-d, 1.45));
    }
    .bkcp-hex, .bkcp-rgb {
        font-size: calc(var(--bkbg-cp-lb-font-size-t, var(--bkbg-cp-lb-font-size-d, 14px)) - 1px);
            line-height: var(--bkbg-cp-lb-line-height-t, var(--bkbg-cp-lb-line-height-d, 1.45));
            letter-spacing: var(--bkbg-cp-lb-letter-spacing-t, var(--bkbg-cp-lb-letter-spacing-d, normal));
            word-spacing: var(--bkbg-cp-lb-word-spacing-t, var(--bkbg-cp-lb-word-spacing-d, normal));
    }
    .bkcp-cssvar {
        font-size: calc(var(--bkbg-cp-lb-font-size-t, var(--bkbg-cp-lb-font-size-d, 14px)) - 2px);
            line-height: var(--bkbg-cp-lb-line-height-t, var(--bkbg-cp-lb-line-height-d, 1.45));
            letter-spacing: var(--bkbg-cp-lb-letter-spacing-t, var(--bkbg-cp-lb-letter-spacing-d, normal));
            word-spacing: var(--bkbg-cp-lb-word-spacing-t, var(--bkbg-cp-lb-word-spacing-d, normal));
    }
}

@media (max-width: 767px) {
    .bkcp-title {
        font-size: var(--bkbg-cp-tt-font-size-m, var(--bkbg-cp-tt-font-size-t, var(--bkbg-cp-tt-font-size-d, 20px)));
        line-height: var(--bkbg-cp-tt-line-height-m, var(--bkbg-cp-tt-line-height-t, var(--bkbg-cp-tt-line-height-d, 1.3)));
        letter-spacing: var(--bkbg-cp-tt-letter-spacing-m, var(--bkbg-cp-tt-letter-spacing-t, var(--bkbg-cp-tt-letter-spacing-d, normal)));
        word-spacing: var(--bkbg-cp-tt-word-spacing-m, var(--bkbg-cp-tt-word-spacing-t, var(--bkbg-cp-tt-word-spacing-d, normal)));
    }
    .bkcp-name {
        font-size: var(--bkbg-cp-lb-font-size-m, var(--bkbg-cp-lb-font-size-t, var(--bkbg-cp-lb-font-size-d, 14px)));
        letter-spacing: var(--bkbg-cp-lb-letter-spacing-m, var(--bkbg-cp-lb-letter-spacing-t, var(--bkbg-cp-lb-letter-spacing-d, normal)));
        word-spacing: var(--bkbg-cp-lb-word-spacing-m, var(--bkbg-cp-lb-word-spacing-t, var(--bkbg-cp-lb-word-spacing-d, normal)));
            line-height: var(--bkbg-cp-lb-line-height-m, var(--bkbg-cp-lb-line-height-t, var(--bkbg-cp-lb-line-height-d, 1.45)));
    }
    .bkcp-hex, .bkcp-rgb {
        font-size: calc(var(--bkbg-cp-lb-font-size-m, var(--bkbg-cp-lb-font-size-t, var(--bkbg-cp-lb-font-size-d, 14px))) - 1px);
            line-height: var(--bkbg-cp-lb-line-height-m, var(--bkbg-cp-lb-line-height-t, var(--bkbg-cp-lb-line-height-d, 1.45)));
            letter-spacing: var(--bkbg-cp-lb-letter-spacing-m, var(--bkbg-cp-lb-letter-spacing-t, var(--bkbg-cp-lb-letter-spacing-d, normal)));
            word-spacing: var(--bkbg-cp-lb-word-spacing-m, var(--bkbg-cp-lb-word-spacing-t, var(--bkbg-cp-lb-word-spacing-d, normal)));
    }
    .bkcp-cssvar {
        font-size: calc(var(--bkbg-cp-lb-font-size-m, var(--bkbg-cp-lb-font-size-t, var(--bkbg-cp-lb-font-size-d, 14px))) - 2px);
            line-height: var(--bkbg-cp-lb-line-height-m, var(--bkbg-cp-lb-line-height-t, var(--bkbg-cp-lb-line-height-d, 1.45)));
            letter-spacing: var(--bkbg-cp-lb-letter-spacing-m, var(--bkbg-cp-lb-letter-spacing-t, var(--bkbg-cp-lb-letter-spacing-d, normal)));
            word-spacing: var(--bkbg-cp-lb-word-spacing-m, var(--bkbg-cp-lb-word-spacing-t, var(--bkbg-cp-lb-word-spacing-d, normal)));
    }
}
