.color-box-display {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 4px;
    align-items: center;
}

.color-box-display .color-box-actions:hover ~ .color-box-swatch {
    pointer-events: none;
}

.color-box-display:has(.color-box-actions:hover) .color-box-swatch {
    pointer-events: none;
}

.color-box-swatch {
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 6px;
    border: 1.5px solid var(--border-color, #e0e0e0);
    cursor: pointer;
    transition: all 0.15s ease;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    flex-shrink: 0;
}

.color-box-swatch:hover {
    transform: scale(1.02);
    border-color: var(--accent-primary, #f0ad4e);
}

.color-box-swatch:active {
    transform: scale(0.98);
}

.color-box-label {
    text-align: center;
    font-family: monospace;
    font-size: 9px;
    font-weight: 600;
    color: var(--text-primary, #333);
    text-transform: uppercase;
    line-height: 1.2;
    word-break: break-all;
}

.color-box-display.primary-color .color-box-swatch {
    border-width: 2px;
    border-color: var(--accent-primary, #f0ad4e);
    box-shadow: 0 0 0 1px var(--accent-primary, #f0ad4e);
}

.color-box-display.primary-color .color-box-label {
    color: var(--accent-primary, #f0ad4e);
    font-weight: 800;
}

.color-box-display.locked .color-box-swatch {
    border-color: #888;
    box-shadow: 0 0 0 1px #888;
    filter: grayscale(0.15);
}

.color-box-display.locked .color-box-label {
    color: #888;
    font-weight: 500;
}

.color-box-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 6px;
}

@media (max-width: 550px) {
    .color-box-grid {
        gap: 4px;
    }
    
    .color-box-label {
        font-size: 7px;
    }
}

@media (max-width: 400px) {
    .color-box-grid {
        grid-template-columns: repeat(auto-fill, minmax(50px, 1fr));
    }
}

@media (prefers-reduced-motion: reduce) {
    .color-box-swatch{
        transition: none;
    }
    
    .color-box-swatch:hover {
        transform: none;
    }
}

@media (prefers-contrast: more) {
    .color-box-swatch {
        border-width: 2px;
    }
    
    .color-box-display.locked .color-box-swatch {
        border-color: #ff0000;
        border-width: 2px;
    }
}